当前位置:当百下载站 > 电脑软件 > 编程开发 > 编译工具 > WinDbg(分析dump文件)v10.0.19041.1
WinDbg(分析dump文件)

WinDbg(分析dump文件)

版本:v10.0.19041.1 大小:30.19MB 语言:简体中文 类别:编译工具
  • 类型:国外软件
  • 更新:2026-11-05 18:28:04
  • 系统:win7/win8/win10/win11

详情介绍

WinDbg完整版是微软官方提供的Windows平台调试工具,兼顾用户态与内核态两种场景。相比Visual Studio,它体积小巧、专注调试,正因功能单一反而在调试方面表现更出色,同时还能用来分析dump数据。该工具具备良好的灵活性与可扩展性,内置130余条标准命令、140余条元命令,扩展命令数量更是难以统计。它支持Kernel模式调试与用户模式调试,也能对Dump文件进行处理,借助dmp文件可较为轻松地追溯问题源头,适用于排查蓝屏、程序崩溃(如IE崩溃)等状况,是日常工作中相当实用的辅助工具,掌握之后有助于提高问题处理的效率与准确度。中文版支持Source与Assembly两种调试模式,既能调试应用程序,也可进行Kernel Debug,对于希望做好软件调试的开发人员来说值得一试。

WinDbg(分析dump文件) 软件截图

使用方法

WinDbg 具备图形界面与命令行两种操作模式,以下说明如何借助图形界面版本对应用程序进行调试:

打开“文件”菜单,点击“打开可执行文件”,即可挑选一个可执行程序开始调试。

File->Attache to a Process-:可从当前运行的进程里挑选一个目标,对它展开调试;

WinDbg(分析dump文件) 软件截图

选定要调试的目标程序。

WinDbg(分析dump文件) 软件截图

到这里,在上图红色方框标注的文本框里,就能逐条填写各项功能指令了。

指令相关的帮助资料,可依次进入 Help->Contents->Debugging Tools for Windows->Debuggers->Debugger Reference 查看,该路径下对所有指令及其机器功能均有完整说明。

WinDbg(分析dump文件) 软件截图

更新日志

v10.0.19041.1 版本

修复了若干与内核调试传输相关的故障。

中文版快捷键

Command 配合 Alt+1 可唤出命令输入区,命令执行后的结果及调试信息也会在此处呈现。

Watch Alt+2 可查看指令涉及的全局变量、局部变量及寄存器状态。

Locals Alt+3 可自动列出当前函数中的全部局部变量

RegistersAtl+4:用于查看寄存器内容并对其数值进行调整。

Memory Alt+5 可查看并调整内存中的数据

Call Stack Alt+6 用于查看栈内记录的函数调用序列

Disassembly Alt+7 反汇编

白板便笺(快捷键 Alt+8),适合随手记录调试过程中的要点。

进程与线程 Alt+9 调出全部调试目标的清单,进程、线程等都列在其中

Command Browser 中,按下 Alt+N 可运行并查看命令。

常见问题

windbg怎么查看?

1 获取并安装 WinDbg:该工具可从微软官方站点免费下载;安装完成后启动 WinDbg,随后配置符号路径(symbol path)。

File- 符号文件路径

若已准备好 symbol path,直接填入即可。

2. 抓取 dump 文件时,可以借助 windbg 自带的 adplus 命令完成,也可以使用一款操作更简便的小工具,即 IIS。

Diagnostics 同样能从微软官方获取,当你的应用程序出现卡死或崩溃的情况时,

运行该 Diagnostics 后,点取消会弹出选择 rule type 的对话框,

打开process选项卡后继续操作。

找到目标进程后,右键就能生成对应的 dump 文件,生成完还可以接着用这个工具直接做分析,当然用 WinDbg 也行。

3. dump 文件生成后,启动 windbg,通过 File- Open 把它打开

Crash Dump……),接着执行下列命令。

.load path\SOS.dll

(path是全路经,

通常位于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 这个路径下。

根据自身 .NET 版本选择对应安装包。

.reload -f mscorwks.dll!threads

查看全部受管线程,

通常到这一步就能定位到异常发生在哪个线程了,比如显示为0 thread)~0s。

该段内容过短且不含实质软件介绍信息,无法进行有效的深度原创改写。请提供完整的软件介绍段落。

!clrstack 用于查看调用栈。

在Windbg的快捷功能中,可以调出 Process and Threads 窗口以及 call stack 视图。

在窗口里对 call stack 中的 function call 双击一下,就能直接跳到对应的 source code。

!printException

查看异常信息时,只针对托管异常,定位到该异常第一次被抛出的地址。

一看就知道哪个了)

调试过程中,t 命令与 p 命令各自的作用并不相同:t 命令会进入被调用的子程序逐条执行,而 p 命令则把子程序当作一个整体直接执行完,不会跟进到内部单步。

执行 call p 后,程序会跳转至地址 p 所指向的函数入口,从而开始运行该函数内部的代码。

p这种情况下不会进入函数体内部,而是直接执行 call p 指令,随后跳转到下一条指令继续运行。

用起来跟 VC 里的单步执行和跟踪调试挺相似的。

打不开 dmp文件?

Windows 出现蓝屏后,只要系统属性中已按图示完成相应设置,系统便会自动创建一个 minidump 文件。该文件里保存着蓝屏时产生的代码以及引发蓝屏的进程信息。借助 WinDbg 这类工具对该 minidump 文件进行解析,就能定位蓝屏的具体成因。文件通常存放在 C:\Windows\Minidump 目录下,命名格式类似 Mini040108-01.dmp。

WinDbg 的双机调试该怎么操作?

双机调试的用武之地远不止生成不了转储文件这一种情形,任何场景下都能派上用场。调试内核问题时尤其如此——它不受转储文件类型的约束,能拿到的信息一概不会错过,效果等同于完整的内存转储。系统启动阶段以及其后任意时刻出现的问题,双机调试同样能够覆盖,这一点是内存转储无法企及的。

常用命令

查看版本信息:version、vertarget

查看模块信息可用的指令包括 lm、!dlls 和 !lmvi 等。

查看调用栈可执行 k 命令,栈帧之间的切换则通过 .frames 命令完成。

内存操作:查看内存内容时使用 d 命令,修改内存数据则通过 e 命令完成。

自动解析:提供 !analyze、!owner 等指令

调试时可用 .reload 载入符号,用 .sympath 指定符号所在路径,借助 !sym 配置符号相关选项。

进程与线程操作:!process 用于查看进程信息;.process 可显示当前进程,也能通过 .process /i 切换当前进程;!peb 用来查看进程环境块的内容;~ 命令列出线程,~n s 可切换到指定线程(n 为线程号);.thread 则显示当前线程。

windbg配置方法

打开WinDbg程序,从菜单栏进入File选项,点击Symbol File Path,随后按以下方式对_NT_SYMBOL_PATH变量进行配置:

在弹出的窗口里填入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”。这样配置后,WinDbg会优先检索本地目录C:\MyCodesSymbols中的Symbol;若该目录中未能找到所需文件,程序便会转向MS的Symbol Server自动获取。

下载地址

  • 电脑版
WinDbg(分析dump文件)v10.0.19041.1

用户评论

(您的评论需要经过审核才能显示)


0条评论

↑