首页 > 解决方案 > 使用 Qt 15.3.1 进行远程调试时无法加载 qtcreatorcdbext.dll

问题描述

我一直按照此处的说明使用 CDB 进行远程调试

我能够很好地连接到远程计算机的 CDB 会话并查看输出,但是当我尝试在运行 Qt Creator 的本地计算机上添加断点时,我最终收到以下错误:

The call to LoadLibrary(qtcreatorcdbext) failed, Win32 error 0n126
    "The specified module could not be found."

我创建了一个系统环境变量 _NT_DEBUGGER_EXTENSION_PATH,它指向远程机器上包含 qtcreatorcdbext.dll 的文件夹。DLL 是 64 位版本,我在使用 MSVC2017 64 位编译器编译的 64 位应用程序上运行 64 位版本的 CDB。如果我将 qtcreatorcdbext.dll 替换为 32 位版本,则在指定断点时会出现以下错误:

The call to LoadLibrary(qtcreatorcdbext) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."

所以看起来它能够找到 DLL 但实际上并没有加载 64 位版本。我还验证了我在两台机器上运行相同版本的 CDB。

任何帮助表示赞赏!

标签: c++windowsqtqt-creatorremote-debugging

解决方案


我遇到过同样的问题。我不得不使用这个工具https://github.com/lucasg/Dependencies来调查关于 qtcreatorcdbext.dll 和 python35.dll 的依赖关系,并查看我的设置中缺少哪些 dll。


推荐阅读