多线程程序 如何处理该异常“未知的软件异常0xc0000417 位置0x7858ccb5”

Youthllen 2010-06-22 05:30:59

小弟最近用vs2008 mfc 编写了一个工控应用的程序

大概启用了四到五个工作线程再加一个界面,系统在运行的时候,有时会发生

“应用程序异常 未知的软件异常0xc0000417 位置0x7858ccb5”但此时所有线程都在正常作业,界面也能能够响应,就是不能点那个错误提示框的确定或取消按钮,一点程序就自动退出了。

系统是基本就是全天运行,该异常出现频率不高,有时候一天一两次,有的时候几天也发生不了一次。

痛苦了好多天,网上也有人问 ”未知的软件异常0xc0000417“ 但位置不一样,不知如何如何定位该异常的真正原因。

各位大侠,遇到这种异常,如何找出原因?位置0x7858ccb5是什么意思?

多谢
...全文
5117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
UUcall007 2010-06-26
  • 打赏
  • 举报
回复
生成Map文件,根据0xc0000147找到导致程序崩溃的对应的行和函数。一个线程崩溃了 不影响其他线程的。
Youthllen 2010-06-26
  • 打赏
  • 举报
回复
0xc0000147是错误类型,位置倒是有0x7858ccb5,远远超过了程序的地址空间,所以没办法根据崩溃地址查找出错代码

我是说所有我创建的线程都在正常工作,这些线程似乎没有崩溃。



[Quote=引用 6 楼 uucall007 的回复:]

生成Map文件,根据0xc0000147找到导致程序崩溃的对应的行和函数。一个线程崩溃了 不影响其他线程的。
[/Quote]
xiaopoy 2010-06-23
  • 打赏
  • 举报
回复
\\VC\PlatformSDK\include\ntstatus.h
:

0xc0000417 STATUS_INVALID_CRUNTIME_PARAMETER

这个应该是因为不同线程之间传递的参数用来调用函数时候,没有确定那参数好使。
Youthllen 2010-06-23
  • 打赏
  • 举报
回复
根据各位的提醒感觉有了一些思路,

再问一下:为什么发生这种错误的时候,各路线程仍然工作的好好的呢?
Eleven 2010-06-22
  • 打赏
  • 举报
回复
上网搜索根据崩溃地址查找出错代码。。。
Youthllen 2010-06-22
  • 打赏
  • 举报
回复
多个线程确有共享资源,数据共享,共享硬件,回头我再仔细查一下
对于共享硬件用了关键代码段,对于数据就没有用了,设计为一个读,一个写
我想知道:

一 。0xc0000147是什么类型的错误?
二 如何根据位置0x7858ccb5 找到对应的调用函数


多谢
Learn-anything 2010-06-22
  • 打赏
  • 举报
回复
查看自己的多线程之间是否用到了相同的资源,但是没有同步
这样可能会出错

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧