Xcode 4:为什么“继续当前行”显示为灰色?

时间:2013-03-13 09:43:21

标签: c++ debugging xcode4

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

Xcode 3 中,我可以通过在鼠标悬停时点击行号旁边的按钮来实现。

Xcode 4 中,似乎可以通过右键单击行号并选择 继续到此处 来执行此操作,或者使用 调试 菜单,然后选择 继续当前行 项。

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

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

我做错了吗?



提前致谢,

凯文

1 个答案:

答案 0 :(得分:2)

这似乎是因为您使用的是LLDB调试器。同样的事情发生在我身上,同时使用LLDB调试器和调试C ++代码,如下所示:

Greyed out Continue Here with LLDB and C++

我使用Objective-C代码对此进行了测试,此功能在调试Objective-C时非常正常。

Continue Here with LLDB and Objective-C

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

Green Button

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

您目前唯一真正的选择是:

选项1:

使用GDB调试器,因为Xcode的GDB调试器支持此功能。

要更改调试器:

第1步:

单击左上方“方案菜单”下的项目名称。 Step 1 - Fig 1 Step 1 - Fig 2

第2步:

点击“编辑方案...”

Step 2 - Fig 1

第3步:

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

Step 3 - Fig 1 Step 3 - Fig 2

第4步:

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

Step 4 - Fig 1 Step 4 - Fig 2

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

第5步:

单击“确定”。

注意:

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

选项2:

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

例如:

假设您要继续直到第39行。

Code

在第39行设置断点。

Setting a breakpoint

点击“继续执行程序”按钮,这是一个喜欢某些媒体播放按钮的按钮。或者,您可以继续使用键盘快捷键:Command + Ctrl + Y,或使用菜单(Product-> Debug-> Continue)

Continue program execution button Continue through menu

注意:

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

Debug Area