当我调试我的程序时,我经常想让它从暂停的地方运行到特定的行。
在Xcode 3中,我可以通过单击悬停在行号旁边的按钮来做到这一点。
在Xcode 4中,似乎可以通过右键单击行号并选择Continue to here 来执行此操作,或者使用Debug菜单并选择Continue To Current Line项。
但是,当我想使用它们时,这些选项总是变灰的。
注意,我不知道这是否相关,但我使用的是 c++
有什么我做错了吗?
提前致谢,
凯文
这似乎是因为您使用的是 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 步:
单击确定。
笔记:
我不确定在 LLDB 上使用 GDB 调试器时的限制(我认为 Xcode 不支持任何最新版本的 GDB,因为它们已切换到 LLDB 和 clang)。
在您希望继续的地方创建一个断点,然后继续它。与右键单击并按“继续此处”或绿色按钮相比,这并不难。这也提供了相同的功能。使用键盘快捷键可以同样快(见下文)。
例如:
假设您想继续,直到您到达第 39 行。
在第 39 行设置断点。
单击“继续执行程序”按钮,该按钮有点像媒体播放按钮。或者,您可以继续使用键盘快捷键:Command + Ctrl + Y,或使用菜单(产品->调试->继续)
笔记:
您需要显示的调试区域 (Shift-Command-Y),才能看到“继续执行程序”按钮。