C++ 代码4:为什么;“继续到当前行”;是灰色的吗?

C++ 代码4:为什么;“继续到当前行”;是灰色的吗?,c++,debugging,xcode4,C++,Debugging,Xcode4,当我调试我的程序时,我经常想让它从暂停的地方运行到特定的一行 在Xcode 3中,我可以通过鼠标悬停行号旁边的按钮来实现这一点 在Xcode 4中,似乎可以通过右键单击行号并选择继续到此处,或者使用调试菜单并选择继续到当前行项来实现 但是,当我想使用这些选项时,它们总是灰显。 注意,我不知道这是否相关,但我使用的是c++ 我做错什么了吗 提前感谢, Kevin这似乎是因为您正在使用LLDB调试器。同样的事情发生在我身上,在使用LLDB调试器和调试C++代码时,如您在这里可以看到的: 我用O

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

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

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

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

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

我做错什么了吗



提前感谢,


Kevin

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

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

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

这可能是Xcode中的一个bug,或者苹果只希望你在Objtovi.C中编程。这似乎是一个问题,同时使用LLDB,调试C++代码(我不确定C代码)。另一方面,用GDB调试C++和Obj-C代码都很好。 您目前拥有的唯一实物期权是:

选项1: 改用GDB调试器,因为带有Xcode的GDB调试器支持这一点

要更改调试器,请执行以下操作:

第1步:

单击左上角“方案”菜单下的项目名称。

第二步:

单击“编辑方案…”

第三步:

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

第4步:

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

注意: 单击GDB后,“调试进程为”选项将变灰

第五步:

单击“确定”

注意:

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

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

例如:

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

在第39行设置断点

单击“继续程序执行”按钮,这是一个类似于媒体播放按钮的按钮。或者,您可以继续使用键盘快捷键:Command+Ctrl+Y,或使用菜单(产品->调试->继续)

注意:

您需要显示调试区域(Shift-Command-Y),以便查看“继续程序执行”按钮


您正在调试优化版本吗?不,这是一个调试版本。非常感谢您的回答。我怀疑这只是一个C++的问题,但不确定。这是一个很好的分析。然而,这似乎是苹果公司的标准。我的大部分开发工作都是在PC上完成的,但类似的问题在XCode中似乎非常普遍。这是最基本的功能,在这里,我将介绍索引范围为数百的循环。我知道一些苹果/xcode势利小人会看不起这条评论,但以我的经验,xcode非常糟糕,苹果似乎经常改变他们的规则。顺便说一句,我必须使用LLVM。请原谅我今天的咆哮。我们只会在出现问题时抱怨,对吗?@Erik您可以在lldb提示符处键入“thread-until”以获得此功能。