我正在使用带有QT框架的C++开发应用程序。之后,我需要使用调试器,故事从这里开始。
我试图在QT Creator中设置CDB,但我不知道自己在执行此操作时是否更改了代码(可能未更改),并且我的应用程序在运行后立即崩溃。
我把“qDebug()<<” TEST“;”在main函数的第一行中,它崩溃而没有任何输出。
我只输入“return 1”;进入主机,删除所有其他内容,仍然崩溃。
顺便说一句,Creator中的调试器没有帮助。它也崩溃了。
我将代码移到Visual Studio 2010中,并且调试器卡在qvector.h文件的“detach()”功能上。之后,它抛出一条消息,告诉您:
“Windows在app.exe中触发了一个断点。这可能是由于堆损坏所致,这表明app.exe或其已加载的任何DLL中存在错误。这也可能是由于用户在app.exe中按下了F12 .exe具有焦点。输出窗口可能包含更多诊断信息。[BREAK] [继续] [忽略]“
但是有一个有趣的观点。如果我在VS2010中单击“无需调试即可启动”,则它可以正常运行。
寻找出路。提前致谢..
最佳答案
这不是与QT相关的问题,而是在Visual Studio中调试时具有“功能”,在该功能中映射了F12按钮以触发断点。
The F12 key is reserved for use by the debugger at all times, so it should not be registered as a hot key. Even when you are not debugging an application, F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident. Source at MSDN
不幸的是,我无法找到禁用F12快捷方式的方法。
关于qt - 即使根本没有代码,QT应用程序也会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047652/