简体   繁体   English

QT - 未知调试器类型“无引擎”

[英]QT - Unknown debugger type “No engine”

Recently I have re-installed QT (5.5.1 MSVC 2013, 32 bit, rev. b52c2f91f5) on my PC and installed the debugging tools of Microsoft. 最近我在我的电脑上重新安装了QT(5.5.1 MSVC 2013,32 bit,rev.b52c2f91f5)并安装了微软调试工具。

QT (QT Creator) can auto-detect these just fine. QT(QT Creator)可以自动检测这些就好了。

自动侦测

When trying to start the debugger with either the default shortcut F5 or clicking it manually, it throws an error that the debugger could not be run. 尝试使用默认快捷方式F5启动调试器或手动单击它时,会抛出无法运行调试器的错误。 (Compiling works fine, debugging not at all) (编译工作正常,调试完全没有)

调试器无法启动

No debugger-engine of type "No engine" could be created. 不能创建“无引擎”类型的调试器引擎。


(Running Windows 8.1 with VS2013/VS2015 installed - QT working with VS2013 32&64 bit). (运行安装了VS2013 / VS2015的Windows 8.1 - QT使用VS2013 32和64位)。

On my work PC I did the same process a few weeks ago and had no problems at all. 在我的工作PC上,几周前我做了同样的过程,并没有任何问题。

What could cause this problem ? 什么可能导致这个问题? Yet I have only found questions with the same problem related to other compilers. 然而,我只发现了与其他编译器相关的问题。

It may point to a missing component in your installation process or an actual defect in Qt: 它可能指向安装过程中缺少的组件或Qt中的实际缺陷:

Option #1 选项1

Install a debugger. 安装调试器。

If you are installing 5.5.1 for Visual Studio 2013 64 or 32bit, 2012 32bit, 201032bit. 如果要为Visual Studio 2013 64或32位,2012 32位,201032位安装5.5.1。 Then install windows Debuggers . 然后安装Windows Debuggers

Qt will detect automatically the compiler and Debugger. Qt将自动检测编译器和调试器。

To set manually Tools->options->build&run->kits->set one of auto detected , then you can see all. 要手动设置Tools->options->build&run->kits->set one of auto detected ,那么你可以看到所有。

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

Option #2 选项#2

Unable to create a debugger engine of the type "No engine" 无法创建“无引擎”类型的调试器引擎

in the past pointed to a bug in the Qt Creator, if you'll update it may be fixed. 在过去指向Qt Creator中的一个错误,如果你要更新它可能是固定的。

I'm also aware that alternatively, it may be solved by updating to Python 2.7.1. 我也知道,也可以通过更新到Python 2.7.1来解决。

  1. Close Qt Creator. 关闭Qt Creator。
  2. In the folder where your .pro file resides, there will be some .pro.user and .pro.user.x files. 在.pro文件所在的文件夹中,会有一些.pro.user和.pro.user.x文件。 Delete them all. 全部删除它们。 Keep only your .pro file. 只保留.pro文件。
  3. Start Qt Creator and open your .pro file. 启动Qt Creator并打开.pro文件。 Qt Creator will ask you to reconfigure your project. Qt Creator会要求您重新配置项目。 Accept that. 接受。
  4. Now you can debug again, or at least I could; 现在你可以再次调试,或者至少我可以; the problem happened to me when I had just updated Qt Creator. 当我刚刚更新了Qt Creator时,问题发生在我身上。

I had a problem in windows 7 but I've solved it: 我在Windows 7中遇到了问题,但我已经解决了这个问题:

  1. Download Windows driver kit https://www.microsoft.com/en-us/download/details.aspx?id=11800 下载Windows驱动程序工具包https://www.microsoft.com/en-us/download/details.aspx?id=11800
  2. Add your debugger 添加调试器  -
  3. Change auto-detected kit debugger to your added debugger 将自动检测的套件调试器更改为添加的调试器

I installed Debugging Tools for Windows and the debugger appeared under Manage Kits > Build & Run > Debuggers but it didn't added in the kits so I had to go to Manage Kits > Build & Run > Kits then select the desired kit and under Debugger I had to select the debugger. 安装了适用于Windows的调试工具,调试器出现在Manage Kits > Build & Run > Debuggers但它没有添加到工具包中,所以我不得不去Manage Kits > Build & Run > Kits然后选择所需的工具包并在Debugger我不得不选择调试器。 Initially the debugger is set to "None". 最初,调试器设置为“无”。

Answering the title of this question, not the person asking it. 回答这个问题的标题,而不是问这个问题的人。

I had the exact same error message on arch linux 64 trying to compile for arm android. 我在arch linux 64上有完全相同的错误消息,试图为arm android编译。

First I ran the gdb debugger in the command line to get the root issue: 首先,我在命令行中运行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 is the issue! libncurses是问题! (As of 6/24/2016) Arch linux is on ncurses 6.0-4. (截至2016年6月24日)Arch linux在ncurses 6.0-4上。 Later you'll also find libtinfo.so.5 is missing. 稍后你还会发现缺少libtinfo.so.5。

At this point, the method for fixing the problem is up to you; 此时,解决问题的方法取决于您; I don't like using a bunch of AUR repos, so I executed a simple hack. 我不喜欢使用一堆AUR repos,所以我执行了一个简单的黑客攻击。 We're forcing the library linkage that was in libncurses 5x to point at 6x. 我们强迫libncurses 5x中的库链接指向6x。

Please ensure you don't overwrite anything before running these commands 请确保在运行这些命令之前不要覆盖任何内容

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

Re-run your arm gdb, and it should work. 重新运行你的手臂gdb,它应该工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM