• 1727阅读
  • 3回复

[提问]QtCreator如何定位越界错误在第几行? [复制链接]

上一主题 下一主题
离线qq2632671
 

只看楼主 倒序阅读 楼主  发表于: 2021-07-12
RT
比如一个简单的代码
  1. QVector<QString> names({"Jack","Mike"});
  2. for(int i = 0 ; i < 4 ; ++i)
  3.     names.remove(i)

这样一段代码,程序可以通过编译,然后运行时崩溃,QtCreator给出的信息是
ASSERT failure in QVector<T>::remove: "index out of range", file D:\Qt\Qt5.13.1\5.13.1\msvc2017_64\include\QtCore/qvector.h, line 468但我如何知道这个错误发生在哪个文件的哪一行呢?我现在接手了一个很大的工程,然后程序运行时偶然会报个越界错误,但我没办法定位究竟哪一行代码在运行是越界了
离线snow_man_0

只看该作者 1楼 发表于: 2021-07-12
vector,list的区别
先学好C++,再编程
离线uidab

只看该作者 2楼 发表于: 2021-07-13
看看VLD(全称:Visual Leak Detector)

Linux有valgrind
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线青空飞羽

只看该作者 3楼 发表于: 2021-07-13
看看函数调用堆栈信息呢
快速回复
限100 字节
 
上一个 下一个