Qt Creator中的CDB无法工作

4
我正在使用最新的Qt SDK(2.4.0),在让Visual Studio 2008 CDB正常工作方面遇到了问题。我已经遇到了以下两个问题,我认为它们是相关的:
  1. 我有一个失败的断言(assert)。当该断言失败时,我会看到Visual Studio对话框,询问我是否要中止(Abort)、重试(Retry)或忽略(Ignore)。如果我选择重试(Retry),程序不会像应该一样中断,而是继续执行。但是,如果我在该断言之前放置一个断点,然后在调试器中跨过该行时,当我点击重试时,程序会按预期中断。
  2. 所有在执行开始前放置的断点都能被正确接触。然而,如果我试图在执行开始后添加一个断点,则该断点被忽略。但是,如果我停止了,我再添加更多的断点,那么这些断点会被正确接触。
似乎只有我手动使用断点停止调试器时,调试器才能正常工作。有人知道这是怎么回事吗?
我正在使用Windows 7 64位Qt SDK for Windows 32。
1个回答

0

对于你的第一个问题,我猜想你没有分配使用“对象”。 类似这样:

//header file:
class Foo : blabla
{
public:
    Foo();
private:
    QSomething *m_fie;
};

//source file:
Foo::Foo()
{
   m_fie->IWant2UseItNow();
}

如果你的调试器不起作用,可以尝试添加以下内容:
#include <QDebug.h>

和几个打印字符串。例:

//source file:
Foo::Foo()
{
   qDebug() << "1";
   m_fie->IWant2UseItNow();
   qDebug() << "2";
   ...
}

针对您的最后一个问题,Qt Creator 可以帮助您更轻松地工作。它并没有比其他 IDE 更出色的功能,但它与 Qt 集成在一起。它可以帮助您避免很多 .pro 文件配置。实际上,为了正确调试您的应用程序,您应该在项目文件中定义:

CONFIG +=    debug_and_release

或者至少:

CONFIG += debug

Qt Creator可以为您完成这项工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接