windows错误报告……

z_kris 2008-04-18 10:33:35
最近调一个数据采集程序
偶尔会出现有windows错误报告的现象,程序死掉,不方便重现
今天碰到个更强的,弹出错误报告数次,程序还没死,界面上显示仍然在不停的采
说实话没见过这种现象的,有大侠详细解释下吗?
什么情况下会出现错误报告这种现象?原理是?
又是什么情况会弹出错误报告程序依然在跑?
不知道问对地方没……
...全文
281 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
北极猩猩 2008-04-19
  • 打赏
  • 举报
回复
Debug Assertion Failed?
这是debug模式才会出的错误,如果是release mode得到的就是这个
Walker-cheng 2008-04-18
  • 打赏
  • 举报
回复
出现这种错误一般都是内存使用上的错误导致的
con_con 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 z_kris 的回复:]
汗,错误报告看过了,没发现什么有价值的东西,貌似都是些空话

程序的问题当然没法判断,我现在是想知道系统在什么情况下会出现这种现象
只要知道原理就够了,出问题的地方自己慢慢去找
[/Quote]

data abort里面是有有用数据的
可以结合你编译链接过程中生成的.map来看
这个.map winCE平台上有
VS上应该也有吧,没用过,猜测
wuyudry 2008-04-18
  • 打赏
  • 举报
回复
帮顶~~
z_kris 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Polarislee 的回复:]
在程序执行非法操作的时候操作系统会触发异常。
这和C++/Java/C#中的exception没什么关系,是操作系统的保护机制。如果程序不对系统的异常进行处理(可以使用VC里的Windows异常处理,就是__try),那么操作系统就会捕获这些异常,并且触发错误报告和Memory Dump过程。可以把错误报告发给MS来帮助寻找原因。

出发错误报告不一定会terminate process,有时候只是terminate thread,如果程序在不断的Create触发异常的Thread可…
[/Quote]
多谢多谢,那请问用SEH可以解决这样类似的问题吗?
z_kris 2008-04-18
  • 打赏
  • 举报
回复
源码不太方便贴,不好意思
我只要知道原理就行了,比如内存越界会不会导致这种现象?
或者是控制线程互斥时内核对象出了问题?
而且这个程序只是将远方终端数据采集回来,应该不涉及到驱动
自己以前写的调的程序也没碰到过这种情况,所以没什么经验
北极猩猩 2008-04-18
  • 打赏
  • 举报
回复
在程序执行非法操作的时候操作系统会触发异常。
这和C++/Java/C#中的exception没什么关系,是操作系统的保护机制。如果程序不对系统的异常进行处理(可以使用VC里的Windows异常处理,就是__try),那么操作系统就会捕获这些异常,并且触发错误报告和Memory Dump过程。可以把错误报告发给MS来帮助寻找原因。

出发错误报告不一定会terminate process,有时候只是terminate thread,如果程序在不断的Create触发异常的Thread可能会出现你说的情况
我是风 2008-04-18
  • 打赏
  • 举报
回复
你最好贴点源码,大家帮你分析分析
Treazy 2008-04-18
  • 打赏
  • 举报
回复
我做xp驱动的时候,就是根据错误报告才完成的

但是硬盘还是由于蓝屏过多,导致磁盘坏道过多坏了
z_kris 2008-04-18
  • 打赏
  • 举报
回复
报告的话等问题重现的时候我截张图吧
程序是别人写的,人走了,现在我接手维护,代码都没看完,郁闷着
Treazy 2008-04-18
  • 打赏
  • 举报
回复
在你觉得可能会出错的地方,加上错误记录不就行了

这种错误,应该是系统级的,不然不会有出错报告

最好你把报告发出来
z_kris 2008-04-18
  • 打赏
  • 举报
回复
汗,错误报告看过了,没发现什么有价值的东西,貌似都是些空话

程序的问题当然没法判断,我现在是想知道系统在什么情况下会出现这种现象
只要知道原理就够了,出问题的地方自己慢慢去找
Treazy 2008-04-18
  • 打赏
  • 举报
回复
既然有错误报告,那就根据错误来找问题啊

ms的os虽然烂,但是错误报告做的还挺好的

没看到无论什么东西都会有个错误记录嘛

这也是他们做的比较好的地方

既然有这个错误提示,那你就根据它来检查问题咯

大家都不知道你程序用到什么,怎么设计的,怎么去判断呢
z_kris 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hslinux 的回复:]
一般也都是这样的了:访问越界,操作野指针。。。。。。
[/Quote]
是这样的吗?我感觉错误报告不是这么简单吧
那样不应该是Debug Assertion Failed?
在网上查了下资料,据说出现错误报告是系统崩溃,而不单单是程序
hslinux 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 Mac_cm 的回复:]
出现这种错误一般都是内存使用上的错误导致的
[/Quote]

一般也都是这样的了:访问越界,操作野指针。。。。。。
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-04-18 10:33
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下