我使用Xcode7来调试App。
看起来step into行为就像step over,无法跳转到子过程的执行?每次只是跳转到源代码中的下一行。
如果我在 UIKit 方法中进行调试(我没有源代码),它会跳转到下一条指令。
正如您所发现的,step-in避免没有调试信息的帧。大多数人喜欢只点击一步命令,而不是根据他们所在的行在步骤和下一步之间切换,根据我的经验,倾向于选择step。如果调试器不会在 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.
Run Code Online (Sandbox Code Playgroud)
如果您经常使用此选项,您可以重置step别名以包含此选项,或创建另一个包含它的别名。使用command alias命令来执行此操作。
如果您总是希望单步执行没有调试信息的代码,只需设置全局设置:
settings set target.process.thread.step-in-avoid-nodebug 0
Run Code Online (Sandbox Code Playgroud)
在调试会话开始时或在 .lldbinit 中。
注意,大部分lldb的命令都记录在help系统中。例如,help step将显示步骤命令的上述选项,并apropos step显示设置。
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |