Pop*_*orn 11 debugging xcode logging breakpoints objective-c
大代码库的某些部分是打印出奇怪的NSLog语句,我正在尝试检测它的来源.有没有办法在每次NSLog调用开始时设置1个断点,这样我就可以看到它被调用的位置,而不是手动必须在所有调用的地方放置断点NSLog?
Yed*_*edy 11
如果要打破某个日志消息,可以使用:
此示例将在包含单词"Warning"的每个日志中断开.
更新:在较新的设备上使用$ x0.模拟器和旧版使用$ r0.$ arg0应该适用于所有情况.
根据这个,你可以在 lldb 控制台中设置这种断点:
breakpoint set --name NSLog
Run Code Online (Sandbox Code Playgroud)
使用 Xcode 执行此操作的一种方法是在函数中main或在您身上设置断点AppDelegate applicationDidFinishLaunchin(请阅读:尽快)。然后,运行应用程序,当它在所述断点处暂停时,您可以访问 lldb 控制台:输入上面的行并按回车键,lldb 会打印如下内容:
Breakpoint 3: where = Foundation`NSLog, address = 0x32a3da08
Run Code Online (Sandbox Code Playgroud)
此时,您恢复应用程序,并且在NSLog调用时它将再次暂停(请注意使用调试导航器的调用堆栈)。
| 归档时间: |
|
| 查看次数: |
2978 次 |
| 最近记录: |