如何使用QtCreator调试DLL项目?

时间:2013-10-27 17:25:38

标签: c++ c qt dll qt-creator

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

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

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

enter image description here

1 个答案:

答案 0 :(得分:3)

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