2016-04-28 63 views
0

我收到错误“向量下标超出范围”。我知道这意味着我已经在向量中调用了一个不存在的索引。但是我怎么能找到这个有问题的矢量呢? Windows调试器似乎没有多大帮助。找到一个向量下标超出范围

+0

http://stackoverflow.com/questions/691719/c-display-stack-trace-on-exception –

+1

如果没有访问(或不喜欢使用)调试器,你可以只是在你的代码的大部分代码中,直到错误消失,然后恢复一个步骤,删除较小的部分,等等,直到你盯着相关的行。 – Beta

+1

开箱即用的解决方案是用你自己的类覆盖矢量,在调用真正的Vector之前检查你的索引,如果超出范围索引,则通过你设置断点的代码传递。 – mah

回答

0

您在调试器中运行程序,并且当程序遇到致命错误时(在每个调试器中,这是默认行为),要求调试器停止。当程序崩溃时,您可以询问调试器执行的是哪一行。