2015-02-09 45 views
2

我在Qt Creator中选择GDB,而不是作为CDB调试程序在Windows上:Qt Creator中在Windows上无法选择GDB

enter image description here

但是当我开始调试程序时,它失败这个错误:

Unable to create a debugger engine of the type "No engine"

如果我从Combo中选择CDB,它将起作用。为什么我得到这个错误,我该如何解决?假设我在组合框中安装了GDB,对吧?

编辑:我看到那里的问题可能撒谎,但还是不知道如何解决呢:

enter image description here

[在新标签中打开上面的图片以全分辨率查看。 ]它说GDB的“不认可”。

编辑2:我只记得,我使用的是MSVC的编译器,和Qt库的编译MSVC:

enter image description here

也许这是什么原因呢?虽然GDB应该能够调试任何可执行文件,而不仅仅是由gcc生成的可执行文件,所以我不确定它是否相关。

+1

不要假设;检查! :-)是否安装了MinGW? (通常在'C:\ mingw ...'或'C:\ Program Files \ mingw ...')。一般情况下,您使用与您的编译器匹配的调试器 - 您是否使用MinGW进行编译? – Cameron 2015-02-09 16:30:11

+0

@Cameron我刚刚做了一个编辑,gdb.exe确实存在于'c:\ QtCreator \ Tools \ mingw491_32 \ bin \ gdb.exe'中,但Qt Creator在“Type”列中显示“Not recognized”,请参阅截图在我的编辑。 – sashoalm 2015-02-09 16:31:42

+0

@Cameron另一件事 - 我使用的MSVC套件,还有另一个编辑。 – sashoalm 2015-02-09 16:38:30

回答

3

您不能将GDB与MSVC编译的代码一起使用。看来你在混合这两个。

CDB随Visual C++一起发布。 GDB使用MinGW(-w64)。

+0

只是为了澄清 - 这只是Qt Creator集成不起作用吗?我的意思是gdb应该能够在理论上调试任何可执行文件,对吧?不仅仅是那些用gcc编译的我的意思。 – sashoalm 2015-02-09 16:43:57

+3

@sashoalm:理论上是的,但是如果没有任何调试符号,你不会走得太远。看到我对这个问题的评论。 – Cameron 2015-02-09 16:46:35