1

当我调试我的程序时,我经常想让它从暂停的地方运行到特定的行。

Xcode 3中,我可以通过单击悬停在行号旁边的按钮来做到这一点。

Xcode 4中,似乎可以通过右键单击行号并选择Continue to here 来执行此操作,或者使用Debug菜单并选择Continue To Current Line项。

但是,当我想使用它们时,这些选项总是变灰的。

注意,我不知道这是否相关,但我使用的是 c++

有什么我做错了吗?



提前致谢,

凯文

4

1 回答 1

2

这似乎是因为您使用的是 LLDB 调试器。同样的事情发生在我身上,同时使用 LLDB 调试器和调试 C++ 代码,你可以在这里看到:

灰色 使用 LLDB 和 C++ 继续此处

我用 Objective-C 代码对此进行了测试,这个功能在调试 Objective-C 时工作得非常好。

继续使用 LLDB 和 Objective-C

您提到的用于 Xcode 3 的绿色按钮也会弹出 Objective-C 代码(使用 Xcode 4)。正如你在这里看到的:

绿色按钮

也许这是 Xcode 中的错误,或者 Apple 只是希望您使用 Objective-C 进行编程。这似乎只是使用 LLDB 和调试 C++ 代码时的问题(我不确定 C 代码)。另一方面,使用 GDB 进行调试可以很好地处理 C++ 和 Obj-C 代码。

您目前唯一的实际选择是:

选项1:

请改用 GDB 调试器,因为带有 Xcode 的 GDB 调试器支持这一点。

要更改调试器:

第1步:

在左上角的方案菜单下单击您的项目名称。 第 1 步 - 图 1 第 1 步 - 图 2

第2步:

单击“编辑方案...”

第 2 步 - 图 1

第 3 步:

出现“编辑方案”菜单后,单击“调试器”选项旁边的弹出菜单。

第 3 步 - 图 1 第 3 步 - 图 2

第4步:

单击选项“GDB”以使用 GDB 调试器。

第 4 步 - 图 1 第 4 步 - 图 2

注意: 单击 GDB 后,“Debug Process As”选项将显示为灰色。

第 5 步:

单击确定。

笔记:

我不确定在 LLDB 上使用 GDB 调试器时的限制(我认为 Xcode 不支持任何最新版本的 GDB,因为它们已切换到 LLDB 和 clang)。

选项 2:

在您希望继续的地方创建一个断点,然后继续它。与右键单击并按“继续此处”或绿色按钮相比,这并不难。这也提供了相同的功能。使用键盘快捷键可以同样快(见下文)。

例如:

假设您想继续,直到您到达第 39 行。

代码

在第 39 行设置断点。

设置断点

单击“继续执行程序”按钮,该按钮有点像媒体播放按钮。或者,您可以继续使用键盘快捷键:Command + Ctrl + Y,或使用菜单(产品->调试->继续)

继续程序执行按钮 通过菜单继续

笔记:

您需要显示的调试区域 (Shift-Command-Y),才能看到“继续执行程序”按钮。

调试区

于 2013-03-13T11:01:26.317 回答