在QT中发现错误

时间:2013-01-16 09:23:51

标签: qt debugging error-handling

在QT-creator中我收到以下错误:

  

在QVector :: operator []中失败:“索引超出范围”,文件c:\ QtSDK \ Desktop \ Qt \ 4.8.1 \ mingw \ include / QtCore / qvector.h,第359行

我的问题是它没有指定哪个QVector超出范围......即使我在调试模式下运行,我也找不到错误的位置。有没有办法轻松找到错误?代码非常庞大,错误只会偶尔弹出一次,所以检查我单独使用的每个qVector会有很多工作。

1 个答案:

答案 0 :(得分:5)

假设您使用的是Qt Creator,则会出现一个“堆栈”窗口,显示导致程序停止的函数调用:

Picture of the Stack Window

在该窗口中,双击您知道的第一个文件是您自己的文件,在该屏幕截图中,它是第5行的main.cpp。文件将打开,并显示一个黄色箭头。引起断言的行是黄色箭头上方的一行(该箭头实际指向下一个本应执行的语句)