ios - lldb 'step into' 无法跳转到 Xcode7 上的函数调用?

标签 ios xcode7 lldb

我使用Xcode7来调试应用程序。

似乎step into的行为类似于step over,无法跳转到子过程的执行?每次只是跳转到源代码中的下一行。

如果我在 UIKit 方法中进行调试(我没有源代码),它会跳转到下一条指令。

最佳答案

正如您所发现的,step-in 避免了没有调试信息的帧。大多数人喜欢只点击一个步骤命令,而不是根据他们所在的行在步骤和下一步之间切换,根据我的经验,倾向于选择步骤。如果调试器不会在 printf 和其他您没有调试信息的代码中停止,这会变得更加愉快。

但是,lldb 的“step”命令有一个选项可以控制这一点:

   -a <boolean> ( --step-in-avoids-no-debug <boolean> )
        A boolean value that sets whether stepping into functions will step over functions with no debug information.

如果您经常使用此选项,您可以重置 step 别名以包含此选项,或创建另一个包含该选项的别名。使用命令别名命令来执行此操作。

如果您总是希望单步执行没有调试信息的代码,只需设置全局设置:

settings set target.process.thread.step-in-avoid-nodebug 0

在调试 session 开始时或在 .lldbinit 中。

请注意,大多数 lldb 命令都记录在 help 系统中。例如,help step 将显示步骤命令的上述选项,而 apropos step 将显示设置。

关于ios - lldb 'step into' 无法跳转到 Xcode7 上的函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38166065/

相关文章:

ios - xcode 7 - image.xcassets 中缺少对 Retina 4 的支持

ios - lldb - 无法解析 Objective-C 静态方法调用的类

xcode - (lldb) 在设备上运行但不在模拟器上运行时出错

ios - 检测主线程之外的 UI 操作

ios - 根据 swift map 的缩放级别,在 Google map 中显示某个区域中的标记数量

ios - UI 测试不再适用于 Xcode 7.3

ios - Xcode 7 归档失败

ios - libiconv 没有链接到 iOS 项目

javascript - 提高大规模 IndexedDB 插入的性能

ios - 如何正确使用 CocoaPods