如何将Windbg设置为异常捕获默认程序?

在开发或者正常使用软件时,经常会遇到程序异常闪退或者致命问题直接退出,来不及收集dump,无从下手。俗话说“道高一尺、魔高一丈”,windbg出场,一切搞定。

如下,找到windbg的安装路径。

E:\SoftWore\经常使用\windbg\windbg_cn\WinDbg(x86)\windbg.exe

管理员身份 打开cmd黑界面,切换到上述windbg位置,输入 windbg.exe -I ,回车键。
在这里插入图片描述
接着界面会弹出如下图所示。

在这里插入图片描述

表示已经设置成功,后续有异常出现,windbg会第一时间收集dump,并且中断程序,此时加载pdb等符号文件后,即可开始分析异常。非常方便。

### 使用 Windbg 分析和修复 Windows 蓝屏 (BSOD) #### 安装并配置 WinDbg WinDbg 是 Microsoft 提供的强大调试工具,能够帮助分析内核转储文件来找出蓝屏的根本原因。安装 WinDbg 可通过 Windows SDK 或者独立下载最新版本的 WinDbg Preview 应用程序。 为了准备使用 WinDbg 来处理 BSOD: - 下载并安装适用于开发人员的 Windows 工具包中的 Debugging Tools for Windows 组件[^1]。 - 配置符号路径以便获取正确的驱动程序和服务模块信息。可以通过设置环境变量 `_NT_SYMBOL_PATH` 实现这一目标,例如 `SRV*c:\symbols*https://msdl.microsoft.com/download/symbols`。 ```powershell Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\dump_analysis" -Name _NT_SYMBOL_PATH -Value "SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols" ``` #### 获取崩溃转储文件 当系统发生蓝屏时,默认情况下会创建一个小内存转储(minidump),通常位于 `%SystemRoot%\Minidumps` 文件夹下。对于更详细的分析,则可能需要完整的或核心级别的内存转储文件。 如果默认未启用大容量转储功能,在注册表中可以调整此选项以确保捕获足够的数据用于后续调查。 ```regedit [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] "LogEvent"=dword:00000001 "SendAlert"=dword:00000001 "CrashDumpEnabled"=dword:00000001 "DumpFile"="C:\\Dumps\\memory.dmp" "DebugInfoType"=dword:00000002 ; Mini dump ; or use dword:00000003 for full memory dumps. ``` #### 加载转储文件到 WinDbg 启动 WinDbg 后,选择菜单项 **“File -> Open Crash Dump...”** 并指向之前提到的小型或大型转储文件位置。加载完成后,执行 `.reload /f` 命令强制重新加载所有符号,这有助于获得最准确的结果。 #### 执行基本命令进行初步诊断 输入以下常用命令来进行初始评估: - `!analyze –v`: 自动化分析当前上下文中发生的异常情况,并提供有关潜在问题的信息。 ```plaintext !analyze -v ``` - 查看堆栈跟踪以了解导致崩溃的具体调用序列 ```plaintext k kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw ky kz ``` 上述命令可以根据具体需求选用不同的变体形式查看不同层次的细节。 #### 解读输出结果 根据 `!analyze -v` 的反馈以及其他辅助指令得到的数据综合判断故障源。常见的情况包括但不限于硬件兼容性问题、第三方软件冲突以及不稳定的设备驱动等因素引发的错误模式。 一旦确定了根本原因,就可以采取相应的措施解决问题,比如更新有问题的驱动程序或者移除引起干扰的应用程序等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值