启动(程序还没执行生成dump文件的代码)就崩溃的处理流程

何志丹

如果有专业人员,利用Windbg启动这个程序,在分析就可以了。


上次崩溃,让大家手忙脚乱。所以列了一个启动(程序还没执行生成dump文件的代码)就崩溃的处理流程。

1,用我写的opendll.exe加载所有dll。看是否能成功。

此工具可以发现以下三种情况的崩溃:

a, 全局变量的构造函数崩溃。

b,dllmain中崩溃。

c,Runtime Error。

2,检查图像引擎是否兼容,如果有专门的检测工具最好。否则用dx和opengl的检查工具。

3,在崩溃的机器上开启华医生(DrWatson),华医生会生成dump文件和文本文件。注Win7华医生已经被WerFault.exe取代。

4,用工具(如:鲁大师)收集硬件信息。

5,我正在完成的一个工具。劫持dll,然后强行给所有函数加上try catch。大约还需要40到80工时才能完成。我有其他任务,所以只能抽空出来。此工具已知两个缺陷:

a,Win7下不能劫持ole32.dll等系统dll。

b,如果使用了导出的全局变量或静态成员变量结果可能不对。

附录:

1,Win7 配置,让操作系统自动生成dmp文件。

注册表:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/Windows Error Reporting/

下建立项:LocalDumps

定义一个 可扩充字符串DumpFolder ,设置存放dmp文件的路径。

DWORD类型 DumpType设置为 2

Windows程序崩溃时,操作系统会生成一个崩溃转储(Dump文件,用于帮助开发人员诊断和调试程序故障。这个Dump文件记录了程序崩溃时的内存状态,包括堆栈信息、寄存器状态、变量值等关键数据。 生成Dump文件的方法有多种,例如: 1. 使用Windows上自带的任务管理器。打开任务管理器,在“进程”选项卡中找到崩溃程序进程,右键点击选择“创建转储文件”即可生成Dump文件。 2. 使用Windows上自带的Dr.Watson工具(仅适用于旧版本)。Dr.Watson是一种活动监视工具,它会在程序崩溃时自动记录信息,生成.DMP文件。可以在Windows注册表中启用Dr.Watson功能。 3. 使用Windows Debugging Tools。这是一套由微软提供的调试工具,其中包括了生成Dump文件的命令行工具Dumpchk、Msdia.dll等。使用这些工具可以对Dump文件进行详细的调试和分析。 一旦生成Dump文件,开发人员可以使用各种调试工具来分析这个文件,以寻找程序崩溃的原因。比如,可以使用Visual Studio自带的调试器或WinDbg调试器来打开Dump文件,并逐步调试程序,查看导致崩溃代码行。 Dump文件对于故障排除非常有用,可以帮助开发人员定位和解决程序中的错误。通过分析Dump文件,我们可以获得崩溃时的内存状态,从而找到导致崩溃的具体代码,修复问题,提升软件的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻缺陷则喜何志丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值