2010-06-08 108 views
19

Qt创建者可以完美地构建和运行我的项目,但它会直接跳过我设置的任何断点。我找不到任何方法来解决这个问题,我希望能得到一些帮助。为什么我的断点不能在Qt Creator中工作

编辑:SDK内置调试模式,并且项目生成配置设置为调试。

+1

看看gdb控制台窗口,也许gdb在加载应用程序时抱怨某事。 – Eugene 2010-06-08 19:52:37

+0

从命令提示符构建时,我没有收到意外的消息。 – CoutPotato 2010-06-08 20:08:31

+0

不,在创建者时,当您在调试器下启动应用程序时,应该切换到调试面板。在那里你可以显示gdb控制台(默认情况下它隐藏着,我想,检查菜单)。 GDB在那里打印了很多东西(加载的DLL等) – Eugene 2010-06-08 20:13:53

回答

7

Qt Creator有两种运行你的应用程序的模式:“运行”和“调试”。我想你可能会对它们的意思感到困惑:

  • 运行:启动程序,就像双击可执行文件一样。
  • 调试:启动调试器,将其附加到可执行文件,然后通过调试器运行可执行文件。这记录了程序所有的步骤(函数调用等),包括断点。

简而言之:当您需要在程序执行过程中找出内部值和/或设置断点时,请使用Debug。对于其他任何东西,只要运行它,速度要快得多。

+2

在QtCreator 2.3中。0,从“释放”(不停止调试器在断点处)切换到“调试”您需要点击项目图标 - >然后点击构建下拉 - >然后您应该看到“释放”和“调试“ - >点击”调试“。项目图标位于大运行的左下角,调试,生成项目GUI图标。 – 2011-09-19 17:21:01

+1

如果您没有将项目切换到“调试”,那么调试器将总是跳过您的断点。更改为“调试”后,请确保清洁。 – 2011-09-19 17:23:54

+2

尽管上述内容非常真实,但它并没有回答当前的问题 - 假设在调试模式下和调试会话下正确执行了运行,仍然有GDB(但更常见的是CDB)不会停在断点上的情况。通常会在尝试将调试器同步到进程而没有成功之后发生。不幸的是,我仍然无法弄清楚为什么会发生这种情况,而且只是在某些情况下。 – Adi 2012-04-18 18:30:46

3

我希望这会帮助有同样问题的人。 即使我将它设置调试模式,但输出的文件被提上发布的文件夹,当我看着我的.pro文件,我发现这条线

CONFIG += qt warn_on release rtti exceptions 

然后我删除“释放”,那么它的工作。 希望这会有所帮助。

4

您需要在.pro文件在下一行添加:

CONFIG  += debug 

而且可能是你需要删除此:

CONFIG  += release 
19

如果这是一个CMake的构建,你需要设置之前生成类型设置项目,在你最CMakeList.txt所以如 :

SET(CMAKE_BUILD_TYPE Debug) 
project(mybuildtype) 

正式的,当运行cmake:http://qt-project.org/forums/viewthread/12694时,你也可以将它传递给cmake,因此使用-DCMAKE_BUILD_TYPE = Debug标志,但是这似乎不再有效... 如果你想要一个标志工作,你需要在设置项目之前对其进行测试,请参见http://www.cmake.org/pipermail/cmake/2008-September/023808.html

相关问题