WinDbg(分析dump文件)

大小:30.19M 类别:
  • 调试编译

官方安全无插件纠错

  • 更新时间2023-10-17
  • 版本v10.0.19041.1
  • 系统Pc
  • 语言简体中文
WinDbg完整版是一款微软官方推出的在Windows平台下使用的强大的用户态和内核态调试工具,相比较许多用户熟知的VS(Visual Studio),这是一个轻量级的调试工具,文件大小很小,倒是因为只有调试功能,所以软件的功能要比我们的VS更好,除此之外软件的另外一个用途就是为我们的用户分析dump数据了。WinDbg具有很好的灵活性和可扩展性,提供了130多条标准命令,140多条元命令和难以计数的扩展命令。它可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件,能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏、程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率。这款软件中文版支持Source和Assembly两种模式的调试,不仅可以调试应用程序,还可以进行Kernel Debug,如果用户是一位开发人员,想要很好的进行软件的调试,那么不要错过这款软件。

中文版快捷键

Command Atl+1 输入命令、显示命令结果和调试信息输出
Watch Alt+2 观察指令全局变量、局部变量和寄存器的信息
Locals Alt+3 自动显示当前函数的所有局部变量
RegistersAtl+4 观察和修改寄存器的值
Memory Alt+5 观察和修改内存数据
Call Stack Alt+6 栈中记录的函数调用序列
Disassembly Alt+7 反汇编
Scratch Pad Alt+8 白板,可以用来做调试笔记等
Processes and Threads Alt+9 显示所有调试目标的列表,包括进程和线程等
Command Browser Alt+N 执行和浏览命令

常用命令

查看版本信息: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上下载Symbols)。

使用方法

WinDbg提供了图形界面和命令行两种运行方式。这里介绍使用图形界面的WinDbg来调试应用程序:
File->OpenExecutable->可以选择一个可执行文件进行调试;
File->Attache to a Process->可以选择一个运行中的进程,并对其进行调试;

然后选择需要调试的程序。

至此,我们就可以在上图中用红色方框标记的文本框中输入各个功能指令了。
有关指令的帮助文档,可以参考:Help->Contents->Debugging Tools for Windows->Debuggers->Debugger Reference,该目录下列集了所有指令机器功能说明!

常见问题

windbg怎么查看?
1 安装windbg (从微软网站上下载,free), 运行windbg, 设置symbol path,
File- Symbol File Path,
输入SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols,
如果你已经有了symbo path, 直接输入就可以了。
2. 生成一个dump, 可以用windbg提供的adplus命令来生成,或者有一个简单的工具, IIS
Diagnostics, 这个也可以从微软下, 假设现在你的application hang 或者 crash 了,
运行这个Diagnostics, cancel弹出选择rule type的对话框,
然后选择process tab,
找到你要dump的进程, 右键生成dump就可以了, 然后可以顺便用这个工具直接分析了,还是说winbdg吧。
3. 现在dump有了, 运行windbg,打开这个dump (File- Open
Crash Dump...), 运行下面的几个命令.
.load path\SOS.dll
(path是全路经,
一般在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,
根据自己.net版本选不同的)
.reload -f mscorwks.dll!threads
(察看所有线程(managed),
这步一般就可以看到exception在哪一个线程了, 假设看到在 0 thread)~0s
(转到 0 thread)
!clrstack (查看call stack)
然后可以通过windbg上面的一些快捷功能打开 Process and Threads 窗口 和 call stack
窗口,双击call stack 里面的 function call, 就可以跳转到source code了。
!printException
(查看exception, 仅限于managed exception, 找到第一次被抛出来的exception address,
一看就知道哪个了)
调试时t命令和p命令的区别?
t会进入函数调用中,即call p,会进入入口地址为p的函数中去。
p对于上述情况不会进入函数体,而直接执行call p,并跳跃到下一条指令。
感觉也和VC中的单步和跟踪差不多。
打不开 dmp文件?
windows发生蓝屏时,如果系统属性有下图设置,windows会自动生成minidump文件,该文件记录蓝屏生成代码和导致蓝屏出现的进程,通过windebug的软件来分析这个minidump文件.我们就可以找到蓝屏出错的原因了。这个文件保存目录是C:\windows\minidump文件夹,一般生成的名字为:Mini040108-01.dmp.
如何利用 WinDbg 进行双机调试?
其实并不是只有在生成不了转储文件的情形下才能使用双机调试,在任何情况下都是可以使用的,尤其是调试内核问题时,双机调试不必限于转储文件类型,均可获得一切可以获得的信息,相当于完全内存转储了。而且,双机调试可以调试到系统启动阶段和之后任意时刻的问题,这是内存转储做不到的。

更新日志:

v10.0.19041.1版本
修正了几个内核调试传送问题。

展开内容

类似软件

  • ilspy反编译工具

    9.1/70.55M

    ilspy中文版是一款强大的反编译工具,主要针对.net平台的各类软件进行反编译,能够轻松反编译C#和VB语言的程序,软件本身是C#程序,并且完全免费,是一款开源软件,如果用户懂得编程的话,能够自己进行扩展和修改,使得软件更加强大。

    查看
  • RSLogix5000官方版

    9.0/7.8G

    RSLogix5000全称为Rockwell Studio 5000,是由罗克韦尔推出一款集成开发环境,旨在通过增强的安全性帮助将智能机器更快地推向市场。该软件主要包括最佳的数字设计功能,可帮助减少机器设计时间以及测试和调试时间。

    查看
  • Translhextion(十六进制编辑器)

    9.1/377K

    Translhecton是一款专业的十六进制编辑器,可以帮助用户在十六进制编辑器中查看、编辑和修改二进制文件。该软件支持多种文件格式,包括EXE、DLL、PE、ELF、MZ、MOD、BIN、ISO等,并且可以在十六进制模式和文本模式之间自由切换。

    查看
  • BrowseEmAll(多浏览器测试工具)

    9.1/239.99M

    BrowseEmAll电脑版是一款非常专业的多浏览器测试工具,通过这款软件可以帮你快速测试不同浏览器的兼容性以及其他性能,该软件采用Record Play技术来启动自动化测试功能,启动自动化测试功能之后,软件将自动对所有主流浏览器的自动化测试并获取其结论报告,通过结论报告可以查看

    查看

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • APK Easy Tool官方版(apk反编译工具)

    9.5/23.76M

    APK Easy Tool是一款实用的apk反编译工具——官方版。通过软件大家可以将APK文件进行反编译,将其拆解为源代码、资源文件和其他组成部分,以便进行分析、修改和定制。

    查看
  • luyten反编译工具

    9.0/3.83M

    luyten官方版是一款专为java程序开发的反编译工具,支持.jar、.zip、.class等类型的文件,并对这些文件进行反编译操作,软件的反编译程度非常高,能够轻松让用户获得最完整、最准确的java源代码。

    查看
  • Gcc编译器(Gcc For Windows)

    9.0/12.43M

    Gcc编译器是GNU开发的编程语言编译器,由GPL许可证所发现的自由软件。它可处理多种编程语言,如C语言、Fortran、Pascal、Objective-C、Java和Ada以及各类处理器架构上的汇编语言等。

    查看
  • 串口调试助手3(commAssistant)

    9.5/448K

    串口调试助手3(commAssistant)是一款有WMD工作室推出的串口智能调试工具。在这里用户可以随意的进行串口参数的调整,支持包括110、300、600、1200、2400、4800等波特率。

    查看
  • 串口调试助手(CM精装版)

    9.1/627K

    串口调试助手(CM精装版)一款功能实用,操作简单的串口调试软件。使用方便,超级稳定,不死机,不丢包,串口自动识别,支持COM9以上串口,支持多串口调试,支持历史发送记录,广泛支持各种波特率,高达10 Mbps以上波特率,具体和电脑硬件有关,支持云端同步,可以通过 Web 远程监控

    查看
  • Unity Studio(Unity调试工具)

    9.1/7.03M

    Unity Studio电脑版是专门的unity游戏引擎的调试工具,主要的作用就是测试unity3D开发的游戏,软件分为X64和X32,开发人员需要根据自身的计算机系统来进行安装使用,除了让用户在软件上查看自己的图片、shader、文本以外,还能够直接播放音频,甚至,还可以进行场

    查看
  • HttpMaster(Web开发测试工具)

    9.1/5.39M

    一款出色的应用程序测试工具

    查看
  • plist editor pro for windows((plist文件编辑工具))

    9.6/9.66M

    Plist Editor Pro是一款功能强大的Plist文件编辑器,用于编辑和修改macOS和iOS系统中的Plist文件。Plist文件是一种属性列表文件,用于存储应用程序的配置和设置信息。

    查看
  • debugview正式版

    9.0/1.3M

    debugview是微软出品的一款非常强大的能够帮助用户查看调试信息的实用工具,支持用户使用Debug、Release模式编译的程序,甚至支持内核程序,非常方便,而且在查看的时候还可以定制各种过滤条件,让你只看到关心的输出信息等,还能够高亮一些重要内容和你需要的内容,更方便用户查

    查看
  • 发条js调试工具绿色版

    9.1/1.35M

    发条js调试工具是一款顶级的JS代码调试软件,该软件能够对JS代码进行压缩、查找、解密、格式化等操作,对于经常写JS代码的朋友来说帮助的非常的大的。而且本站提供的这款发条js调试工具是绿色版本哦,无需安装开即可使用,非常的方便快捷。

    查看
  • Automize(计划任务软件)

    9.1/64M

    Automize是一款任务计划程序和操作系统、 自动化的自动化软件多个文件FTP传输,FTP 监视器,Web 下载通过代理或安全站点的工具。监测网站下载修改过的 Web 页面,检查并发送带有附件的电子邮件、 zip 存档或复制整个目录树,文本搜索,自动的数据库 SQL,telne

    查看
  • BrowseEmAll(多浏览器测试工具)

    9.1/239.99M

    BrowseEmAll电脑版是一款非常专业的多浏览器测试工具,通过这款软件可以帮你快速测试不同浏览器的兼容性以及其他性能,该软件采用Record Play技术来启动自动化测试功能,启动自动化测试功能之后,软件将自动对所有主流浏览器的自动化测试并获取其结论报告,通过结论报告可以查看

    查看
  • 调试大叔官方版

    9.1/2.96M

    脚本调试工具

    查看
  • 安卓修改大师电脑版

    9.1/13.08M

    自定义修改定制APK安装包

    查看
  • PowerShell HelpWriter 2023(PowerShell辅助工具)

    9.1/132.51M

    PowerShell HelpWriter 2023是一款很好用的专业Windows PowerShell设计环境。它能够帮助用户很好的进行创建和编辑文件,操作简单。

    查看