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           自动显示当前函数的所有局部变量
Registers               Atl+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版本
修正了几个内核调试传送问题。

展开内容

类似软件

  • HttpMaster(Web开发测试工具) 3.86M HttpMaster电脑版是一款简单实用的Web程序测试工具,可以通过从指定网站请求资源来自动化测试。该款工具提供了五个功能模块,包括了Web开发、创建新项目、执行测试、监控测试的运行环境、管理网络资源等,通过它,你可以检查网页的通信情况、测试网页加载的

  • xjad官方版 803K xjad官方版是一款顶级的Java反编译工具,何为反编译,可能有些刚接触的小伙伴还不太了解,小编在这里和大家说一下,反编译其实就是通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,这样可以借鉴别人写的程序。而今天小编特意为大家找来了x

  • Mercurial(轻量级分布式版本控制系统) 14.9M Mercurial电脑版是一款非常优秀的分布式版本控制系统(DCVS),Mercurial英文意为水银,所以常被缩写为Hg。采用Python语言实现,具有高效率、跨平台、可扩展、使用简便且开源等优点,是目前最为流行的版本控制工具之一。Mercurial电

  • hex-rays(反编译工具) 820K hex-rays电脑版号称史上最强的反编译工具,可以直接进行反编译VB VC BCB Delphi等等一切 x86/x64代码为C代码,而且还可以快速的执行各种的伪代码文本等,总而言之hex-rays电脑版对于编程的人员来说帮助是非常之大。尤其是本站提供

网友评论

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

同类排行

  • sscom串口调试助手工具 411K sscom串口助手是一款专业的串口调试工具。主要是用于蓝牙的调试。sscom串口助手能够保证从串口进行保持流畅,即使是接受大量的数据也不会产生死机的现象,最重要的是数据能够在窗口上直接显示。在串口波特率的选择上,用户可以选择110bps-25600

  • Reqable电脑版 21.92M 跨平台的专业HTTP开发和调试工具

  • APK Easy Tool官方版(apk反编译工具) 23.76M 想要学习Android文件开发的话,最直接办法就是了解其他人是如何编写apk代码的。但是大多数人并不会公开自己辛辛苦苦编写的文件,于是就想要一个能够进行反编译的软件,将文件直接反编译出来,查看其代码。那么今天小编就为大家带来了一个非常实用的apk反编译工

  • USBWebserver 22.2M USBWebserver是一款功能实用且一键式电脑本地快速架设PHP网站环境的工具,尤其是针对USB移动设备进行设计开发,可以很好的兼容各种USB外接口的存储设备,其中包括U盘,移动硬盘等都可进行数据保存,这样就没有电脑设备的时间地点限制了,随时便可进行

  • API Monitor(API调用监控软件) 9.99M API Monitor是一款功能强大、并且非常实用的API调用监控软件,使用可帮助用户监视和显示应用程序进行的Win32 API调用,还可跟踪任何导出的API,包括win32 API和其他第三方API,不需要知道函数的原型。API Monitor支持显示

  • jpexs free flash decompiler(Flash反编译工具) 12.74M 一款基于Java平台运行的免费 Flash 反编译工具

  • plist editor pro for windows((plist文件编辑工具)) 9.66M plist editor for windows中文版下载

  • dotPeek 2022官方版 83.13M dotPeek 2022官方版是JetBrains公司推出的一款免费的.net反编译工具,它是一个基于ReSharper捆绑反编译器的免费独立工具。反编译来源生成项目之后,用户不需要离开dotPeek就能够浏览项目文件。而且,Dotpeek也可以作为一个

  • vbexplorer(VB反编译工具) 408K VBExplorer是一款对VB程序的静态解析工具,用户可以利用这款软件对VB编写的软件进行反编译操作,比如修改软件的图形、菜单、对话框等。这款软件能够反编译VB5和VB6的部分程序代码,完美支持p-code形式,兼容native code形式,给出反编

  • 串口调试助手3(commAssistant) 448K 串口调试助手3(commAssistant)是一款有WMD工作室推出的串口智能调试工具。在这里用户可以随意的进行串口参数的调整,支持包括110、300、600、1200、2400、4800等波特率。串口调试助手3可以帮助用户实现如下功能;发送接受1

  • 发条js调试工具绿色版 1.35M 发条js调试工具是一款顶级的JS代码调试软件,对于js大家都应比较熟悉,JS作为一种属于网络的脚本语言,已经被广泛用于Web应用开发。而今天小编就为大家带来了发条js调试工具,发条js调试工具能够对JS代码进行压缩、查找、解密、格式化等操作,对于经常写J

  • 汇编工具64位版 2.58M 汇编工具64位版是一款由网友制作的编译神器,许多Windows 7 64位系统的用户在Dos环境下无法使用masm汇编工具,是又有时候无奈需要使用DOSbox来进行调试,于是网友“草编的戒指”制作了一款绿色免费、功能强大的编译神器,Windows 7 6

  • JetBrains dotPeek 2023官方版 86.68M dotPeek 2023是一款基于 ReSharper 捆绑反编译器的免费独立工具。这款反编译器支持包括库 (.dll)、可执行文件 (.exe) 和 Windows 元数据文件 (.winmd) 在内的多种格式。反编译后的代码可以另存为Visual S

  • Awen串口调试助手绿色版 87K Awen串口调试助手绿色版是一款非常好用的串口调试工具。软件支持300-115200bps波特率的调试,但是大于15000的就得需要专门的设置支持才可进行调试,其在数据接收及发送上,用户都可以以十六进制的方式来进行操作,此外,用户也可以在接收数据上

  • softice(系统调试工具)官方版 2.62M softice官方版是一款系统内核级的调试工具,软件具有强大的反汇编功能,可以帮助用户对一些软件进行破解和注册码的破解,由于其兼容性和稳定性非常好,而深受用户们的喜爱。软件可以支持扩展名为exe、dll、ocx为后缀的应用,就连一些设备驱动程序都可以进行