【问题标题】:QT - Unknown debugger type "No engine"QT - 未知的调试器类型“无引擎”
【发布时间】:2016-03-31 23:42:48
【问题描述】:

最近我在我的电脑上重新安装了 QT (5.5.1 MSVC 2013, 32 bit, rev. b52c2f91f5) 并安装了debugging tools of Microsoft.

QT (QT Creator) 可以自动检测这些就好了。

尝试使用默认快捷方式 F5 启动调试器或手动单击它时,会引发调试器无法运行的错误。 (编译工作正常,根本不能调试)

无法创建“无引擎”类型的调试器引擎。


(运行安装了 VS2013/VS2015 的 Windows 8.1 - QT 与 VS2013 32&64 位一起使用)。

几周前我在我的工作电脑上做了同样的过程,完全没有问题。

什么可能导致这个问题?然而,我只发现与其他编译器相关的相同问题的问题。

【问题讨论】:

  • 注意:重新安装 QT 或升级到更新的 QT 版本时,之前检测到的调试器可能会由 QT 自动设置。请注意始终检查Options -> Build & Run -> Kits -> Your installed version 是否为已安装的 QT 版本设置了正确的调试器。 QT 在我安装 x64 的同时升级到 x86 后设置了我的调试器。
  • 这可能对你有帮助,因为它帮助了我stackoverflow.com/questions/54361400/…

标签: c++ qt debugging c++11 visual-studio-2013


【解决方案1】:

它可能指向您的安装过程中缺少组件或 Qt 中的实际缺陷:

选项#1

安装调试器。

如果您要安装 5.5.1 for Visual Studio 2013 64 或 32 位,2012 32 位,201032 位。然后安装windows Debuggers

Qt 会自动检测编译器和调试器。

要手动设置 Tools->options->build&run->kits->set one of auto detected ,然后 你可以看到所有。

来源:https://forum.qt.io/topic/59974/unknown-debugger-type-no-engine/11

选项 #2

无法创建“无引擎”类型的调试器引擎

过去指出了 Qt Creator 中的错误,如果您更新它可能会修复。

我也知道,或者,它可以通过更新到 Python 2.7.1 来解决。

【讨论】:

  • 好嘘#t。我忘记将套件中的调试器设置为 MSVC 版本。谢谢你的收获。 - 尝试过 python,但这是与另一个编译器相关的错误,而不是 MSVC。
  • Qt 的链接指向 Microsoft 页面,您可以在其中安装适用于 Windows 10 的 Windows 调试器。如果您要安装适用于 Windows 7 的 Windows 调试工具,请安装 SDK(您可以选择仅安装Winows 调试工具。)microsoft.com/en-us/download/details.aspx?id=3138
  • 安装 windows 调试器后,我不得不手动更改为自动检测到的调试器之一。仅供参考,因为它不会自动选择它。
  • 感谢@kayleeFrye_onDeck 的反馈
  • 很好的答案。这是 Microsoft cdb.exe developer.microsoft.com/en-us/windows/hardware/download-windbg 的更新链接(Get Debugging Tools for Windows (WinDbg)(来自 SDK))
【解决方案2】:
  1. 关闭 Qt Creator。
  2. 在您的 .pro 文件所在的文件夹中,会有一些 .pro.user 和 .pro.user.x 文件。全部删除。只保留您的 .pro 文件。
  3. 启动 Qt Creator 并打开您的 .pro 文件。 Qt Creator 将要求您重新配置您的项目。接受。
  4. 现在您可以再次调试,或者至少我可以;当我刚刚更新 Qt Creator 时,我遇到了这个问题。

【讨论】:

  • 对我来说简单实用。在“options..”中,我有两个注册为“auto”的相同调试器实例。第一个被标记为错误,我无法删除它。您的解决方案只在“自动”中留下一个调试器并且可以工作。 (我在 Windows 10 上运行了 MinGW 版本的 Qt Creator)
【解决方案3】:

我在 Windows 7 中遇到了问题,但我已经解决了:

  1. 下载 Windows 驱动程序包 https://www.microsoft.com/en-us/download/details.aspx?id=11800
  2. 添加您的调试器
  3. 将自动检测到的套件调试器更改为您添加的调试器

【讨论】:

  • 我不确定驱动程序套件与调试器有什么关系。对我来说似乎不是这个问题的答案。安装 Microsoft 的调试工具并正确设置 QT 设置是您所要做的“全部”工作。
  • @Blacktempel 根据微软网站,有两种方法可以获取 Windows 调试器:安装 Windows SDK 或安装 DDK。如果您的问题是您根本没有安装调试器(这对我来说是个问题),那么这是一个有效的答案,尽管我实际上选择了 SDK。
【解决方案4】:

安装了 Windows 调试工具,调试器出现在 Manage Kits > Build & Run > Debuggers 下,但它没有添加到工具包中,所以我不得不去 Manage Kits > Build & Run > Kits select 所需的 kit 并在 Debugger 下我必须选择调试器。最初调试器设置为“无”。

【讨论】:

    【解决方案5】:

    回答这个问题的标题,而不是提问的人。

    我在尝试为 arm android 编译的 arch linux 64 上遇到了完全相同的错误消息。

    首先我在命令行中运行 gdb 调试器以获取根本问题:

    ~/tools/android/android-ndk-r12/prebuilt/linux-x86_64/bin/gdb-orig:
    error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
    

    libncurses 是问题所在! (截至 2016 年 6 月 24 日)Arch linux 在 ncurses 6.0-4 上。稍后您还会发现缺少 libtinfo.so.5。

    此时,解决问题的方法取决于您;我不喜欢使用一堆 AUR 存储库,所以我执行了一个简单的 hack。我们强制将 libncurses 5x 中的库链接指向 6x。

    请确保在运行这些命令之前不要覆盖任何内容

    cd /usr/lib
    sudo ln -s libncursesw.so.6.0 libncurses.so.5
    sudo ln -s libncursesw.so.6.0 libtinfo.so.5
    

    重新运行你的 arm gdb,它应该可以工作了。

    【讨论】:

    • 不要盲目地做这些符号链接。如果库版本被撞了,那是因为它不兼容 ABI。而是检查您的发行版是否具有旧的 ncurses 兼容性版本。例如,在 Fedora 中,您可以简单地安装 ncurses-compat-libs
    • 人们还在使用fedora?!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多