weixin_43388281
Sonya_W
采纳率0%
2018-10-11 09:44 阅读 720

不定时出现vector iterators incompatible错误提示,该如何调试解决?

30

我的程序(程序是用C++语言,vs2010做的)正常运行时都很正常,不会报错,但偶尔会出现错误提示,显示vector iterators incompatible。
提示错误后系统还能继续运行一会,不会直接关闭。但是出现这个错误的概率很低也很不固定,有的时候三四天连着跑也不会出现问题,有的时候一会就会出现几次这个问题,现在我不是很懂应该从哪里调试找到问题,因为代码很多不知道应该如何定位到问题的出错行,不太好放代码上来,所以想请大神们看看我这个问题有没有什么调试手段,或者是有类似错误经验?并上错误截图。
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • jewelsu 艾萨克SU 2021-01-25 18:29

    虽然提问时间比较久了,但是还是试着回答一下。因为我也遇到了同样的问题。我查到的原因是vector在多线程里使用但是没加锁导致的。vector是非线程安全的,如果不加锁,可能导致读的线程和写的线程冲突,表现就是报vector iterators incompatible,我的程序是读的线程报的,而写的线程还会正常的运行,所以提示错误后程序还能运行一段时间,直到碰到由此导致的更致命的问题才会退出。

    点赞 1 评论 复制链接分享

相关推荐