c++的一个很严重的问题

quanwei9958 发布于 2015/01/06 14:51
阅读 672
收藏 0

  首先我来描述一下现象:

  使用的QT开发的一个应用程序,里面有多线程,每个线程都是一个独立的通信单元,大部分时间程序正常运行,但是可能是一小时,也有可能是一天以后程序的某个线程会突然发生段错误,然后整个程序就崩溃了。查看栈信息看不到,因为直接定位在QtCore里的一堆汇编里,栈信息像下面这样

 


oh my god! 请问一下这个错误是什么原因导致的。该如何避免。

加载中
0
kenvy
kenvy

用processxp之类的看一下线程运行情况,或者在代码里加入生成dump文件代码,当出错时生成dump文件,再用VS打开调试一下,看问题出在哪。只能借助工具调试了

0
東條・スペンサー・咲
東條・スペンサー・咲
LZ开了SSE3的优化开关?目测还开了很多其他的优化开关吧。先把优化开关都关掉看看还有没有这个问题。
東條・スペンサー・咲
東條・スペンサー・咲
用了SQL啊……多线程操作数据库本身就挺危险的,不过解决了就还不错。
quanwei9958
quanwei9958
谢谢你的回复,不过我没有打开优化开关,因为堆栈被破坏显示不出函数调用,后来在国外网上查到了办法。这个错误的原因我总结了一篇文章:http://my.oschina.net/000quanwei/blog/379776
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部