一、问题的发生
R6010 -abort() has been called,出现这个问题,是我写了一个多线程的程序报错,而且是随机发生的,这让我很困扰,因为多线程程序没法单步调试,所以我只能写日志文件进行查找判断出错的位置,找了很久,终于解决了这个问题。
二、百度解决方案
我在网上百度了很多解决方案,最多的就是指针和内存的问题,我开了内存我也释放了啊,也没有野指针。也应该没有多个线程同时访问一个变量,因为我每个类操作都是new的一个新的类最后再释放,所以每个线程互不影响。当然最好的方法就是单步调试,设置断点然后不断F10,但是多线程让我困扰,日志又看不出什么问题。
三、最后的解决方法
最后我在写日志看不出问题的时候,没办法,把线程开一个进行单步调试,终于发现了程序的问题if(xxx==1)判断的时候写成了XXX=1。我瞬间wtf了。俗话说得好,写代码5分钟,调试1小时,写代码一定要认真严谨,不然就等着无休止的调试吧。