Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:查找内存泄漏和错误_Qt_Memory_Runtime_Memory Leaks - Fatal编程技术网

Qt:查找内存泄漏和错误

Qt:查找内存泄漏和错误,qt,memory,runtime,memory-leaks,Qt,Memory,Runtime,Memory Leaks,我正在用Qt开发一个应用程序,在对应用程序进行调试时遇到问题,无法找到导致应用程序因运行时错误而崩溃的错误。错误,如数组访问超出范围或指针访问错误 QT Creator根本无法识别此运行时错误。我所拥有的只是退出代码,有时还有应用程序输出中的assert fail消息。比如: ASSERT failure in QList<T>::operator[]: "index out of range", file c:/Qt/2010.05/qt/include/QtCore/../../

我正在用Qt开发一个应用程序,在对应用程序进行调试时遇到问题,无法找到导致应用程序因运行时错误而崩溃的错误。错误,如数组访问超出范围或指针访问错误

QT Creator根本无法识别此运行时错误。我所拥有的只是退出代码,有时还有应用程序输出中的assert fail消息。比如:

ASSERT failure in QList<T>::operator[]: "index out of range", file c:/Qt/2010.05/qt/include/QtCore/../../src/corelib/tools/qlist.h, line 463
QList::operator[]中的断言失败:“索引超出范围”,文件c:/Qt/2010.05/Qt/include/QtCore/./../src/corelib/tools/QList.h,第463行 我怎样才能找到进行访问的地点? 我尝试在我的应用程序可执行文件上运行gdb,但在应用程序退出并出现错误代码(在上面的示例中为03)后,没有回溯(没有可用的堆栈)

我安装了VS,有时它会要求调试异常(不是本例:/),但即使如此,它也无法识别mingw32调试符号,只提供了一个dissasembled视图


理想情况下,在此类断言导致应用程序崩溃之前,我应该让QT Creator转储堆栈。有什么提示吗?

如果在调试时遇到问题,请尝试为Qt的调试/警告消息创建自己的,并在该函数中设置断点。然后,只要打印其中一条消息,您的程序就会停止。

Qt Creator调试器模式对您不起作用?那太奇怪了。