Crash Dump分析笔记

本文详细记录了对Crash Dump的分析过程,涵盖了C语言异常处理、内存hook技术及其在测试中的应用。通过实例探讨如何从dump文件中提取关键信息,帮助定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
作 者: softworm
时 间: 2008-08-29,20:19
链 接: http://bbs.pediy.com/showthread.php?t=71643

Crash Dump分析笔记


我自己的隐藏OD插件,带驱动,在跑ExeCryptor时偶尔BSOD。驱动挂了2个中断,分别是Int0D,用来对抗rdtsc,从
deroko的fakerRdtsc改的,另外1个是Int0E,抄的OllyBonE。


1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault).  The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
        use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
        use .trap on that value
Else
        .trap on the appropriate frame will show where the trap was taken
        (on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
Arg2: f7737d70
<think>好的,我现在需要向用户介绍“crash dump64”。首先,我得确定用户指的是什么。通常,“crash dump”是系统崩溃时生成的内存转储文件,用于分析崩溃原因。而“64”可能指64位系统。所以用户可能是在问64位系统下的崩溃转储文件。 接下来,我要回忆一下Windows系统中的crash dump类型。记得有几种类型,比如完全内存转储、内核内存转储和小型内存转储。它们的区别在于保存的数据量不同,小型转储文件较小,只包含关键信息,而完全转储包含全部内存内容,文件很大。64位系统下,这些转储文件的后缀通常是.dmp,存放在系统目录的Minidump文件夹里。 然后,用户可能需要知道如何分析这些dump文件。我需要提到常用的工具,比如WinDbg和BlueScreenView。特别是WinDbg,是微软官方工具,功能强大但学习曲线陡峭。BlueScreenView则更简单,适合普通用户快速查看错误信息。 还要考虑用户的使用场景。可能他们遇到了系统崩溃的问题,想要自己分析原因,或者需要将转储文件提供给技术支持人员。这时候,解释如何配置转储文件设置也是有必要的,比如通过系统属性中的高级设置来调整转储类型。 另外,需要注意文件的位置和命名规则,比如%SystemRoot%\MEMORY.DMP是完整转储的位置,而Minidump文件夹中的文件是按日期命名的。这样用户在查找时不会混淆。 最后,要确保语言通俗易懂,避免使用过多技术术语,但也要准确。可能需要提醒用户处理dump文件时的注意事项,比如文件大小和隐私问题,因为转储可能包含敏感信息。 总结一下,回答的结构应该是先定义crash dump64,然后分点介绍类型、作用、分析工具、位置和配置方法。确保每个部分简洁明了,帮助用户全面了解如何处理系统崩溃的问题。</think>关于 **Crash Dump(64位系统崩溃转储文件)** 的详细介绍如下: --- ### 1. **基本概念** - **Crash Dump**(崩溃转储)是操作系统或应用程序发生严重错误(如蓝屏死机/BSoD)时自动生成的文件。 - **64位系统**(如64位Windows)生成的转储文件通常称为 **Crash Dump64**,记录了崩溃时的内存、进程、驱动状态等信息,用于后续调试。 --- ### 2. **主要类型** 在64位Windows系统中,常见的转储类型包括: 1. **完全内存转储(Complete Memory Dump)** - 保存崩溃时所有物理内存内容。 - 文件最大(与物理内存大小一致),路径:`%SystemRoot%\MEMORY.DMP`。 2. **内核内存转储(Kernel Memory Dump)** - 仅保存内核模式内存数据。 - 文件较小,默认选项,路径同上。 3. **小型内存转储(Minidump)** - 仅保存关键信息(如错误代码、堆栈、加载的驱动)。 - 文件最小(约256KB),路径:`%SystemRoot%\Minidump\*.dmp`。 --- ### 3. **核心作用** - **诊断崩溃原因**:通过分析转储文件,定位导致崩溃的驱动、硬件或软件。 - **调试支持**:开发者或技术支持人员可利用调试工具(如WinDbg)还原崩溃现场。 - **系统优化**:识别频繁崩溃的组件(如显卡驱动),帮助优化稳定性。 --- ### 4. **常用分析工具** 1. **WinDbg(Windows Debugger)** - 微软官方工具,支持深度分析内存转储。 - 使用命令:`!analyze -v` 自动分析错误原因。 2. **BlueScreenView(第三方工具)** - 直观显示崩溃时的错误代码、触发模块。 - 适合非技术人员快速查看关键信息。 3. **WhoCrashed** - 自动化分析工具,生成易读的报告。 --- ### 5. **文件位置与配置** - **手动配置转储类型**: ```markdown 1. 右键“此电脑” → 属性 → 高级系统设置 → 启动和故障恢复 → 设置。 2. 在“写入调试信息”中选择转储类型。 ``` - **默认存储路径**: - 完全/内核转储:`C:\Windows\MEMORY.DMP` - 小型转储:`C:\Windows\Minidump\*.dmp` --- ### 6. **注意事项** - **权限问题**:分析转储文件可能需要管理员权限。 - **隐私风险**:转储文件可能包含敏感数据(如密码片段),分享前需谨慎处理。 - **磁盘空间**:完全转储会占用大量空间,建议SSD用户优先选择小型转储。 如果需要进一步分析具体崩溃案例,可提供`.dmp`文件路径或错误代码! 🛠️
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值