大型代码库的某些部分正在打印出奇怪的NSLog
语句,我正在尝试检测它的来源。有没有办法在每次调用开始时放置 1 个断点,NSLog
这样我就可以看到它是从哪里调用的,而不是手动在所有调用的地方放置断点NSLog
?
问问题
3701 次
4 回答
18
在Xcode 6中:
第 1 步:
在左侧的导航器中,转到断点导航器(command ⌘</kbd> + 7):
第 2 步:
单击+
左下角的按钮(添加新断点),
然后选择添加符号断点...:
第 3 步:
在符号中,键入NSLog
。
或者,您可以在Debug → Breakpoints → Create Symbolic Breakpoint中执行相同的操作。
对于 Xcode 5,请参阅此。
于 2014-01-04T07:44:59.470 回答
4
在断点导航器 ( command+ 6) 中添加(在底部,有一个加号)一个符号断点并NSLog
用作符号。
于 2013-06-21T18:12:20.657 回答
2
据此,您可以通过在 lldb 控制台中设置这种断点:
breakpoint set --name NSLog
main
使用 Xcode 执行此操作的一种方法是在函数中或您身上放置一个断点AppDelegate
applicationDidFinishLaunchin
(阅读:尽快)。然后,您运行您的应用程序,当它在所述断点处暂停时,您可以访问 lldb 控制台:您键入上面的行并按回车键,lldb 打印如下内容:
Breakpoint 3: where = Foundation`NSLog, address = 0x32a3da08
此时,您恢复您的应用程序,它会在NSLog
被调用时再次暂停(注意使用 Debug Navigator 的调用堆栈)。
于 2013-06-21T17:12:02.717 回答