1、开发环境:
本地端:
1)win 10
2)IDE Qt Creator 4.8.0
3) CDB 调试环境 ,因为我有装VS 2017 的环境以及前期安装过 Debugging Tools for Windows 所以这就不讲了,环境没搭好的朋友自行百度一下
远程主机配置:
win 7 32bit 注:如果要调试64位要把X86改X64
1)、创建文件夹
在桌面创建了【Debug】文件夹方便调试和设置
C:\Users\Administrator\Desktop\Debug
2)、环境变量设置
a、将_NT_DEBUGGER_EXTENSION_PATH环境变量设置为指向桌面的【Debug】文件夹。
(步骤如下图所示)

b、添加路径环境变量 patch 方便在命令行操作,把中括号的内容追加到变量值后面【;C:\Users\Administrator\Desktop\Debug;C:\Users\Administrator\Desktop\Debug\x86】

3)、文件复制
a、把qtcreatorcdbext32文件夹中的所有内容(下图所示)复制到远程计算机上的【Debug】文件夹
(32或64位版本,具体取决于所用Windows调试工具的版本):
路径位于QT 工具集目录下例如我的安装路径
E:\Qt\Qt5.12.12\Tools\QtCreator\lib\qtcreatorcdbext32
\lib\qtcreatorcdbext32\qtcreatorcdbext.dll (32位)
\lib\qtcreatorcdbext64\qtcreatorcdbext.dll (64位)

b、把 cdb调试器 所在的整个【x86】文件夹复制到远程计算机上的【Debug】文件夹内的
Windows 10 SDK 一般默认的安装路径如下:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\cdb.exe
4、复制程序和调试符文件
把程序Debug路径下的 exe后缀的 文件以及2个pdb后缀的调试符文件(如下图所示)复制到远程主机桌面下的【Debug】文件夹内

一定要复制调试符文件
一定要复制调试符文件
一定要复制调试符文件
否则后面进入不了断点
5、复制依赖文件
a)、把一下依赖文件复制到远程主机桌面的【Debug】文件夹内(看程序只要能运行起来就可以)
Qt5Cored.dll
Qt5Widgetsd.dll
Qt5Guid.dll
以上三个文件一般在QT安装目录下所在编译器的【bin】文件夹内
例如我的
E:\5.12.0\msvc2017\bin

b)、在远程主机桌面上的【Debug】文件夹内创建【platforms】文件夹 把 qwindowsd.dll 复制进去
qwindowsd.dll 位于编译器的 plugins\plagforms路径下 ,例如我的如下图所示

e)、把本机主机中的VC库(如下所示) 到远程主机的【Debug】文件夹内
在此推荐一个很好用的搜索工具 Everything
msvcp140d.dll
ucrtbased.dll
vcruntime140d.dll
6、运行
到里这一步远程主机中的程序应该能正常运行 ,不然继续查找缺了什么依赖
可以是用QT的 windeployqt.exe 打包快速找到QT 的依赖问,但是vc库打包不了,
下图就是经过刚才一波操作后的【Debug】文件夹的内容

7、在命令行中启动CDB 调试服务
命令格式 : cdb.exe -server tcp:port=端口号 可执行程序
启动服务器

启动加载描述符有些慢

等待CDB连接

8、连接接CDB会话
在连接调试器前一定要先在代码上下一个断点 ,否则一开始没断点,后面一下断点QT就会强退
先下断点
先下断点
先下断点
连接CDB调试

在对话窗口上填上远程主机的IP 和服务端口

此弹框不影响调试

准确的进入断点

本文详细介绍了如何在Windows环境下,使用QtCreator4.8.0和CDB进行远程调试的配置步骤,包括本地和远程主机的环境搭建、依赖文件的复制、调试器的启动和连接等关键环节,旨在帮助开发者解决远程调试中的问题。
1939

被折叠的 条评论
为什么被折叠?



