首页
社区
课程
招聘
[讨论]如何捕获程序崩溃?
发表于: 2013-7-15 01:56 5328

[讨论]如何捕获程序崩溃?

2013-7-15 01:56
5328
有木有碰到这种情况:

挂着某个程序 , 这程序运行一段时间之后 , 突然来个错误框框"应用程序啥啥位置内存啥啥啥错误"

像这种崩溃,该怎么捕获呢?

我现在是需要在服务器上长期挂着一个程序, 但是这个程序一旦多开了很多个之后,就会出现这种崩溃.

我想写一个程序,来捕获这种崩溃,发现程序崩溃的时候,就重启这个程序.

windows有提供相关的api么?  求帮助!谢谢

(不想用判断错误窗口是否出现的方式)

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己解决了

附解决办法:

SetUnhandledExceptionFilter  可以捕获

写在dll里,再鼓捣输入表,这样在程序崩溃的时候就可以重启改程序了

上传的附件:
2013-7-15 02:50
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
3
方法 1:

WinDbg -I
将WinDbg作为默认调试器, 当异常出现时, 可以使WinDbg弹出来, 接住崩溃.

方法 2:
在程序中加入异常处理, 当程序发生崩溃时, 通过自己的DumpAPI, 生成Dump文件.
事后,用WinDbg分析这些文件.

应用层加入Dump代码, 可以参考 XCrashReport, 有源码, 共有4篇文章.

http://www.codeproject.com/Articles/5257/XCrashReport-Exception-Handling-and-Crash-Reportin

http://www.codeproject.com/Articles/5258/XCrashReport-Exception-Handling-and-Crash-Reportin

http://www.codeproject.com/Articles/5259/XCrashReport-Exception-Handling-and-Crash-Reportin

http://www.codeproject.com/Articles/5260/XCrashReport-Exception-Handling-and-Crash-Reportin

商用工程中, 应用层程序的崩溃处理, 也会参考这个工程吧.
2013-7-15 02:55
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
4
程序崩溃了, 用重启的方法不好.

当然重启也是要的.
要通过生成崩溃时的MiniDump文件后, 才重启程序.
这样,通过事后分析, 可以知道程序崩溃的真正原因.
2013-7-15 02:57
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
既然有人说了,俺就不发DUMP的代码了
2013-7-15 02:58
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
6
发了也很好啊,大家一起来欣赏~
为上不发代码呢
2013-7-15 03:01
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
7

服了~~
上传的附件:
2013-7-15 03:06
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
多谢关注!
2013-7-15 03:08
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=SilentGamb;1198932]
服了~~[/QUOTE]

这是因为,在你回复之前,自己解决了这个问题,然后当时又没有人回答,所以自己选择自己为最佳答案,卖萌一下.

然后刚刚看到你的回复,很全面,所以重新选择最佳答案
2013-7-15 03:10
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=SilentGamb;1198932]
服了~~[/QUOTE]

应该是   你看到我的帖子的时候   是零回复    然后就开始打字回帖   而刚好这时候我解决了   也在给自己回帖    而且碰巧我比你早几分钟打完字   所以就出现这种情况了   (看回帖时间可以看出来)
2013-7-15 03:13
0
游客
登录 | 注册 方可回帖
返回
//