首页
社区
课程
招聘
[求助]怎样使自己的程序有出错转储文件的功能
发表于: 2008-10-9 12:05 5549

[求助]怎样使自己的程序有出错转储文件的功能

2008-10-9 12:05
5549
WINDOWS蓝屏死机后可以转储文件(就说64KB的那种吧),我见过一些大型的软件也有此功能,其中见过一个网络游戏就有此功能,程序出错后(比如有一条指令操作了空指针)就可以把出错时的情形保存下来,以便最后分析。
我看过《软件调试》书中有对此文件格式进行说明,开始处是一个DUMP_HEADER的结构
这本书上有两种方法产生系统转储文件,其中第二种与几个函数:IoInitializeCrashDump ,IopDumpControlBlock,是不是在自己的程序里用这几个函数?
问一下各位老大,这个转储文件机制是调用API函数还是自己来实现?自己在程序出错时填写DUM_HEADER结构?
希望各位帮助解决一下。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
搜 MiniDumpWriteDump
2008-10-9 13:05
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
ring0下系统会帮你转储,ring3可以用try…finally
2008-10-9 13:07
0
雪    币: 48
活跃值: (496)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
ring0下系统会帮你转储,ring3可以用try…finally

ring3下try...finally可以在finally语句块中来处理转储,我想知道的是怎么转储?
用哪些函数,还是自己来保存出错时的线程环境?
2008-10-9 13:20
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
二楼已经说的比较清楚了,另外codeproject或者msdn上好像有类似有些例子自己下下来试试吧
2008-10-9 14:01
0
雪    币: 24893
活跃值: (1028)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://www.codeproject.com/KB/debug/crash_report.aspx 这个地方有例子。
2009-2-17 14:44
0
游客
登录 | 注册 方可回帖
返回
//