【问题标题】:How to configure CDB in Qt Creator?如何在 Qt Creator 中配置 CDB?
【发布时间】:2012-04-16 02:02:28
【问题描述】:

here 的问题与我的相同,但那里的解决方案对我不起作用。我在 Windows 7 上使用 QtCreator 2.4.1。当我尝试调试一个简单的 hello world 应用程序时,显示的消息是:“用于调试 'x86-windows-msvc2010-pe-32bit' 类型的二进制文件的首选调试器引擎不可用....详细信息:没有可用于格式为“x86-windows-msvc2010-pe-32bit”的二进制文件的 CDB 二进制文件

当我发现 cdb.exe 不在我的系统上时,我安装了带有调试器工具的 Windows SDK,并且 cdb.exe 的当前位置是“C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x86 \cdb.exe" 和 "C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\cdb.exe",

在 CDB 选项卡中我配置了符号服务器以及 CDB.exe 的路径,但没有成功!

QtCreator->Tools->options->Debugger->CDB Tab->有以下字段:
附加参数
使用 CDB 控制台
符号路径
源路径
正确的断点位置等...

有人可以详细解释这些含义以及此处预期的值。有没有人使用 Qt Creator 成功调试过任何应用程序。


请参考此链接:
http://qt-project.org/forums/viewthread/16018/

【问题讨论】:

  • 嘿,马丁,你最终解决了这个问题吗,因为我遇到了完全相同的问题?我看到了关于新的 .Net 调试工具位置的答案,并且 QT 2.5 可能会解决这个问题,但是查看 QT 2.5 Beta - 他们没有。那么,还有其他想法吗?也许恢复到 .Net 4.0 工具而不是新的 4.5?
  • 嗨 Adi,我无法解决 Qt Creator 上的问题,但是我下载了 Qt Visual Studio 插件 (qt.nokia.com/downloads/visual-studio-add-in) 并能够调试应用程序。

标签: c++ c qt qt-creator


【解决方案1】:

我也遇到了同样的问题,终于找到解决方法了。 Styne666 给了我一个提示。执行以下操作:

  1. 工具
  2. 选项...
  3. 构建并运行
  4. 工具链
  5. 使用“克隆”按钮复制每个自动检测到的 MSVC 项
  6. 在每个克隆项目中,您可以在“调试器”字段中指定调试器(例如 C:\Program Files\Windows Kits\8.0\Debuggers\x64\cdb.exe)
  7. 此后一切似乎都正常了...

我应该进一步提到,如果您像我一样运行 64 位版本的 Windows 和 32 位版本的 Qt Creator,您需要确保您指向的是 32 位版本的 cdb (其中有 x86 和 x64 target 版本)。所以对于 32 位目标构建,我运行这个:

C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x86\cdb.exe

对于 x64 构建,我运行这个:

C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\cdb.exe

棘手的部分是让微软在你的 64 位机器上安装 32 位版本的调试工具有点困难。一位同事最近尝试这样做,并说他需要安装 Windows 8 工具才能选择这样做 - Windows 7 版本不允许您这样做。

【讨论】:

  • 谢谢科尔比,成功了!这似乎是您的第一个答案。欢迎使用 stackoverflow!
  • 也彻底解决了我的问题!我发现的所有说明都说要安装 Windows 调试工具,但实际上并没有告诉您如何为 QT Creator 配置它。这是完美的。
  • 我安装了 7.1 WDK,但我无法摆脱该错误!我必须安装第8版吗?我在 64 位 windows 7 sp1 和 qt creator5.2 32 位!
  • 好的,我按照你说的做了,我必须重新启动 QtCreator 才能进行设置。:) 非常感谢 :)
  • 在 Windows 2008 R2 cdb.exe 安装到 C:\WinDDK\7600.16385.1\Debuggers 与错误关闭 bugreports.qt-project.org/browse/QTCREATORBUG-6301 相同@您的解决方案有效!
【解决方案2】:

我花了一些时间用 Qt Creator 2.6.0(在 Windows 7 上)来解决这个问题,所以这里是:

  • 工具、选项...
  • Build & Run,Kits 选项卡,选择“Desktop(默认)”(在 Manual 下)
  • 单击管理按钮并选择右侧的编辑 “调试器:”
  • 引擎:CDB,二进制:C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe

【讨论】:

  • 在新版本的 Qt Creator 中,它位于 Options 窗口的 Kits 部分,而不是 Build & Run 部分。
【解决方案3】:

根据您安装的 Visual Studio 版本,您可以在不同的位置找到 CDB.exe。通过在 C:\ 驱动器中搜索来检查它是否在您的系统中可用。

在我的情况下,我安装了带有 Visual Studio 2012 Express 和 Visual Studio 2013 的 Windows 7 (x64),我必须安装适用于 Windows 7 的 Microsoft Windows SDK here 才能在我的系统中安装 CDB.exe。安装后,QT Creator 能够在以下位置检测到 CDB.exe:C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe。

SDK 中唯一需要的就是通用实用程序 | Windows 调试工具。

【讨论】:

  • 我在给定链接上尝试了 SDK,但在 Win7 SP1 上没有成功。但是Windows 10 SDK 使用相同的指令。
【解决方案4】:

这听起来就像我在 OSX 上使用 gdb 遇到的情况。如果是这样,我的解决方案是(在 Qt Creator 中):

  1. 工具
  2. 选项...
  3. 构建并运行
  4. Qt 版本
  5. 选择对应的版本
  6. 展开详细信息面板
  7. 按下与“GDB Helper”内联的 Build 按钮

在您的情况下,文本可能会有所不同(可能是 CDB 而不是 GDB),但可能适用相同的步骤。

【讨论】:

  • 我的“构建”按钮是灰色的(就像我自动检测到的 qmake 下的所有其他选项一样)。
【解决方案5】:

我试试,先安装Visual Studio 2010, 之后,然后在CDB Binary puts:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86\mpishim100.exe,或者只下载这个文件!..

解决办法!!! 在windows 8 64位!!

【讨论】:

    【解决方案6】:

    我收到此错误是因为我安装的 Visual Studio 版本比我安装的 Qt 版本旧得多。我安装了 Visual Studio 2015,但我的(更新的)Qt 版本使用的是 Visual Studio 2019 的编译器,这显然与 Visual Studio 2015 的调试器不兼容。

    我的解决方案是卸载并重新安装 Visual Studio 和 Qt,以确保我拥有两者的最新版本。可以下载最新版的Visual Studiohere(如果不想付费请选择“社区”下的“免费下载”),也可以下载最新版的Qthere

    【讨论】:

    • 我有两个最新版本(嗯,最新的 Qt 和它希望我下载的 VisualStudio 版本)并且它不会自动检测调试器,而且它似乎已经移动了过去的路径不包含调试器,现在它在哪里?
    • @Troyseph 对我来说,它位于 C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe(或者如果您想要用于 32 位程序的那个,它位于 ...\x86\cdb.exe)。
    • 谢谢,我还没有意识到 Visual Studio 2019 没有安装调试器,你必须单独安装 Windows SDK(这是一个真正的问题,一点也不直观!)
    【解决方案7】:
    1. 为各个窗口重新安装 windows sdk
    2. 为任何外部库正确配置发布/调试 dll

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      相关资源
      最近更新 更多