如何使用QtCreator调试DLL项目?

use*_*308 5 c c++ dll qt qt-creator

我使用QtCreator IDE编写了一个用mingw编译的非Qt C DLL.

当我将DLL注入进程时,DLL会导致该进程在某一行代码处崩溃.我发现这条线是通过使用的罪魁祸首OutputDebugString.我知道如何修复该行,并修改该行时DLL工作.但是,为了学习如何使用调试器,我将线路拆开并且未经修改.

我如何使用QtCreator调试器找到导致问题的同一行?当QtCreator设置为在调试模式下编译时,按F5将导致以下对话框,因为没有EXE:

在此输入图像描述

Naz*_*554 3

解决方案是在注入 DLL 之前运行附加到可执行文件的调试器。DLL 必须在调试配置中构建,并且需要打开其项目。使用此处的说明附加调试器并注入 DLL。如果可执行文件崩溃,当您单击选定的堆栈帧时,您应该会看到堆栈跟踪和 DLL 代码。但要小心:如果您损坏了进程的内存,堆栈跟踪可能不完整或不正确。