在Xcode Debugger

时间:2016-08-28 16:03:43

标签: ios xcode debugging

当我试图通过设置一些断点并使用Step in命令找出哪行代码导致应用程序崩溃时,我经常会遇到一些线程指令(我不知道如何调用它)。我只能看到数字与字母相结合,并希望将所有这些跳到下一行代码。如果我使用Continue program execution应用程序崩溃,所以我不确定哪条线导致崩溃。

我无法手动检查每个线程指令,因为它们确实存在很多。我尝试在Debug菜单中使用其他一些命令,例如Step over instructionStep over thread,但显然这只是指示Xcode跳过当前的线程指令然后转到下一个,这给了我相同的结果使用Step in命令。

我已经看过有关调试的教程,但没有人提到在这种情况下要做什么。我也有关于该主题的谷歌搜索的麻烦,因为我不知道这甚至被称为。

对不起,我对我想知道的内容的解释非常糟糕,但我真的不知道如何描述它。如果你明白我的意思,请告诉我这是什么以及我如何跳过它或理解它在做什么。

EDIT(截图):

Screen Shot 2016-08-28 at 6.33.38 PM.png

1 个答案:

答案 0 :(得分:0)

在大多数情况下,您可能希望使用“跳过”来一次遍历您自己的代码。此操作会将您带到当前方法的下一行代码,或者如果在该方法的末尾,则将您带到调用当前方法的位置。

使用“进入”进入要执行的下一行,这可能涉及转到方法实现的详细信息,这些详细信息可以是您的代码,库代码,框架代码或系统代码。如果您得到不需要的代码,请使用“逐步退出”,直到返回调试所需的代码为止。

话虽如此……当您遇到崩溃时,Xcode应该已经在日志输出中为您提供了一个堆栈跟踪,该跟踪可以准确说明崩溃发生的位置。.= /

旁注:添加日志语句可能会有所帮助。而且,使用像Crashlytics这样的崩溃分析库也非常有帮助。