大代码库的某些部分是打印出奇怪的NSLog
语句,而我正在尝试检测它的来源。有没有办法在每个NSLog
调用的开头放置1个断点,这样我就可以看到调用它的位置,而不是手动必须在所有调用NSLog
的地方放置断点?
答案 0 :(得分:16)
在 Xcode 6 :
中 第1步:
在左侧的导航器上,转到断点导航(命令⌘ + 7 ):
第2步:
点击左下角的 +
按钮(添加新断点),
然后选择添加符号断点... :
第3步:
在符号中,键入NSLog
。
或者,您可以在调试→断点→创建符号断点中执行相同的操作。
Fo Xcode 5 ,请参阅this。
答案 1 :(得分:10)
答案 2 :(得分:4)
在断点导航器( command + 6 )中添加(在底部,有一个加号)符号断点并使用NSLog
作为符号。
答案 3 :(得分:2)
根据this,您可以在lldb控制台中设置这种断点:
breakpoint set --name NSLog
使用Xcode执行此操作的一种方法可能是在main
函数或AppDelegate
applicationDidFinishLaunchin
上放置断点(尽快阅读:)。
然后,你运行你的应用程序,当它在所述断点上暂停时,你可以访问lldb控制台:你键入上面的行并点击return,lldb打印出这样的东西:
Breakpoint 3: where = Foundation`NSLog, address = 0x32a3da08
此时,您恢复应用程序,并在调用NSLog
时再次暂停(使用Debug Navigator注意调用堆栈)。