当我调试程序时,我经常想让它从暂停的位置运行到特定的行。
在 Xcode 3 中,我可以通过在鼠标悬停时点击行号旁边的按钮来实现。
在 Xcode 4 中,似乎可以通过右键单击行号并选择 继续到此处 来执行此操作,或者使用 调试 菜单,然后选择 继续当前行 项。
但是,当我想使用它们时,这些选项总是变灰。
注意,我不知道这是否相关,但我使用的是c ++
我做错了吗?
提前致谢,
凯文
答案 0 :(得分:2)
这似乎是因为您使用的是LLDB调试器。同样的事情发生在我身上,同时使用LLDB调试器和调试C ++代码,如下所示:
我使用Objective-C代码对此进行了测试,此功能在调试Objective-C时非常正常。
对于Xcode 3,您提到的绿色按钮也会弹出Objective-C代码(使用Xcode 4)。正如你在这里看到的那样:
也许这是Xcode中的一个错误,或者Apple只是希望你在Objective-C中编程。在使用LLDB和调试C ++代码(我不确定C代码)时似乎只是一个问题。另一方面,使用GDB进行调试时可以正常使用:C ++和Obj-C代码。
您目前唯一真正的选择是:
使用GDB调试器,因为Xcode的GDB调试器支持此功能。
要更改调试器:
第1步:
单击左上方“方案菜单”下的项目名称。
第2步:
点击“编辑方案...”
第3步:
编辑方案菜单出现后,单击“调试器”选项旁边的弹出菜单。
第4步:
单击选项“GDB”以使用GDB调试器。
注意:强> 单击GDB后,“Debug Process As”选项将显示为灰色。
第5步:
单击“确定”。
注意:强>
我不确定使用GDB调试器时的限制,而不是LLDB(我认为Xcode不支持任何最新版本的GDB,因为他们已经切换到LLDB和clang)。
创建一个断点到您希望继续的位置,然后继续。与右键单击并按“继续在此处”或绿色按钮相比,这并不难。这也提供相同的功能。通过使用键盘快捷键,它可以同样快速(见下文)。
例如:
假设您要继续直到第39行。
在第39行设置断点。
点击“继续执行程序”按钮,这是一个喜欢某些媒体播放按钮的按钮。或者,您可以继续使用键盘快捷键:Command + Ctrl + Y,或使用菜单(Product-> Debug-> Continue)
注意:
您需要显示调试区域(Shift-Command-Y),才能看到“继续执行程序”按钮。