2011-03-15 41 views
9

我正在使用Qt Creator 2.01 32位与Windows 7 64位上的Qt 4.7.1。我使用Microsoft Visual C++ 2010编译了我的Qt库。现在,我想在Qt Creator中使用CDB(或者如果可用,或者其他任何最佳选项,请使用GDB)。我需要做什么才能够使用CDB进行调试(这样我可以设置断点并查看符号)?如何让Qt Creator与CDB一起工作?

请不要只是指向我http://qt-project.org/doc/qtcreator-2.8/creator-debugger-engines.html因为我去过那里,我仍然失去了一些东西。我有Windows SDK与调试工具安装(但我认为这是64位版本)。我正在寻找的是我需要在Qt Creator中设置哪些选项才能完成所有设置。

编辑: 另外我要澄清我觉得那种调试工作,因为我可以打F5和我的应用程序启动,然后我可以选择“调试 - >中断”,它似乎停止。但是在调用堆栈中,函数名称看起来很乱,编辑器中设置的断点不会中断。如果我点击了F10,那么它会看起来像组件一样遍历代码。也许这是因为我正在构建一个DLL,并且我设置了F5来运行父应用程序,后者依次加载并调用我的DLL。

回答

4

由于你的Qt是用MSVC编译的,所以最好的选择确实是CDB(对于GDB你需要,例如MinGW编译版本)。

调试应该是开箱即用的。我能想到的第一点是,由于某种原因Qt Creator没有看到您的Windows调试工具。你确定CDB选项页面中的路径(和版本)是否正确指定?

此外,你有没有考虑切换到Qt Creator 2.1(它有很大的改进)?或者更好的是,自编的2.2 branch版本,其中包括对CDB引擎的全面重构。

+0

没意识到他们有2.1。我刚刚下载了SDK软件包(仅在几周前),它是2.0.1。我会得到新版本。 – User 2011-03-15 22:41:50

+0

编辑我的问题 – User 2011-03-15 22:46:53

+0

安装完2.1之后,当我去设置CDB时,路径已经填写了调试工具对于Windows redist目录。在那里我找到了32位版本的windows调试器,所以我安装了它,然后将路径设置为该安装目录。所以我认为它的工作,我认为问题是我正在调试一个DLL。 – User 2011-03-16 16:27:55

2

安装适用于Windows 7(7.1或更高版本)的Microsoft SDK,并选中用于Windows调试工具的框。确保你选择了Qt的msvc版本,而不是mingw。只要下次您调试应用程序时安装了用于Windows的调试工具,它就会提示您设置符号服务器 - 单击是,然后全部设置。

0

为防万一这有助于任何人,我使用Qt Creator 2.3.1基于Windows Vista下的Qt 4.7.4

我一直有可怕的问题得到它进行调试。它不会构建到项目的/ debug文件夹中,所以当我运行Debug(F5)时,它失败了,并且说没有这样的应用程序或目录。原来改变Build Settings并创建一个新的调试版本,但指定/ release文件夹(它创建我的应用程序的地方)工作正常。