【问题标题】:Xcode 4: why "Continue to current line" is grayed out?Xcode 4:为什么“继续当前行”是灰色的?
【发布时间】:2013-03-13 09:43:21
【问题描述】:

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

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

Xcode 4 中,似乎可以通过右键单击行号并选择 Continue to here 来做到这一点,或者通过使用 Debug 菜单并选择 Continue To Current Line 项。

但是,当我想使用这些选项时,它们总是呈灰色显示。

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

是不是我做错了什么?



提前致谢,

凯文

【问题讨论】:

  • 您是否在调试优化的构建?
  • 不,这是一个调试版本。

标签: c++ debugging xcode4


【解决方案1】:

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

我用 Objective-C 代码对此进行了测试,这个功能在调试 Objective-C 时运​​行良好。

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

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

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

选项 1:

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

要更改调试器:

第 1 步:

在左上角的方案菜单下单击您的项目名称。

第 2 步:

点击“编辑方案...”

第 3 步:

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

第 4 步:

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

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

第 5 步:

点击确定。

注意:

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

选项 2:

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

例如:

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

在第 39 行设置断点。

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

注意:

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

【讨论】:

  • 非常感谢您的回答。我怀疑这只是 C++ 的问题,但不确定。
  • 分析得不错。然而,这似乎与 Apple 的课程相提并论。我的大部分开发工作都是在 PC 上完成的,但在 XCode 中,这样的问题似乎很猖獗。这是基本功能,在这里我将跳过索引范围为数百个的循环。我知道有些苹果/xcode 势利小人会看不起这条评论,但根据我的经验,XCode 很差,而且苹果似乎经常改变他们的规则。顺便说一句,我必须使用 LLVM。原谅我今天的咆哮。我们只有在出现问题时才会抱怨,对吧?
  • @Erik 您可以在 lldb 提示符下键入“thread until ”来获得此功能。
猜你喜欢
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2020-03-04
  • 2018-01-31
  • 2022-09-23
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多