首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

程序运行5个多小时老是提示出现错误

2012-03-26 
程序运行5个多小时老是提示出现异常用MFC写的一个程序不断从一个仪器里面读数据(TCP),于是开了一个线程用

程序运行5个多小时老是提示出现异常
用MFC写的一个程序
不断从一个仪器里面读数据(TCP),于是开了一个线程用来读数据,还有一个继承自cwinthread的线程用来处理数据
读到数据后用postthreadmessage发送消息到数据处理的线程
读的数据用一个全局char数组装着,在消息中发送的有此数组的指针在cwinthread线程中处理数组中的数据

每次程序运行5个多小时总要提示错误:

应用程序发生异常,unknown software exception (0x80000003),位置为.....

菜鸟求教。。。。。。。。谢谢



[解决办法]
大数据量的东西尽量少用PostXXXXX, 因为同步、排斥、数据有效性都没法保证
建议使用共享内存 或者直接读到数据后使用静态调用传递数据
[解决办法]

探讨

会不会是线程同步的问题呢?
比如我读一次数据后postthreadmessage然后数据处理线程没有及时的把数据读走
下一次读取数据的时间片又到了....

[解决办法]
1,生成Map文件。
2,记下崩溃地址
3,在Map文件中找到对应的函数和行号即可
[解决办法]
这是断点异常啊,也就是说CPU执行到了软件断点上,这会如果你有调试器的话就该中断了。

release版编译器在函数间隙都是用的0xCC填充的,也就是软件断点,相信你也不会故意在你代码里写断点进去,所以你这情况应该是程序跑飞了,跳到函数间隙里去执行了。什么原因引起的也不能肯定,不过多半可能是有溢出。还是调试一下把。

热点排行