明辉站中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

windbg 64位 -windows调试工具-windbg 64位 下载 v6.12.2.633官方版本

[摘要]windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强...

windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump数据。

windbg名称热键用途

CommandAtl+1输入命令、显示命令结果和调试信息输出
WatchAlt+2观察指令全局变量、局部变量和寄存器的信息
LocalsAlt+3自动显示当前函数的所有局部变量
RegistersAtl+4观察和修改寄存器的值
MemoryAlt+5观察和修改内存数据
CallStackAlt+6栈中记录的函数调用序列
DisassemblyAlt+7反汇编
ScratchPadAlt+8白板,可以用来做调试笔记等
ProcessesandThreadsAlt+9显示所有调试目标的列表,包括进程和线程等
CommandBrowserAlt+N执行和浏览命令
在弹出需要的窗口后,就可以对窗口进行排列。通过鼠标拖曳窗口或结合右击窗口标题选择Dock(停靠)和Alwaysfloating(保持浮动),可以把窗口摆放成最适合我们工作的位置。

WinDbg入门

WinDbg是Windows调试工具中包含的内核模式和用户模式调试器。在这里,我们提供了动手练习,可以帮助您开始使用WinDbg作为用户模式调试器。
安装调试工具后,找到该工具的64位(x64)和32位(x86)版本的安装目录。例如:
C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Debuggers \ x64
C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Debuggers \ x86
一、启动记事本并附加WinDbg

1.导航到您的安装目录,然后打开WinDbg.exe。
2.调试器文档也可以在此处在线获得。
3.在“ 文件”菜单上,选择“ 打开可执行文件”。在“打开可执行文件”对话框中,导航到包含notepad.exe的文件夹(例如C:\ Windows \ System32)。对于“ 文件名”,输入notepad.exe。点击打开。

4.在WinDbg窗口底部附近的命令行中,输入以下命令:

.sympath srv *

输出类似于以下内容:
dbgcmd

Symbol search path is: srv*
Expanded Symbol search path is: cache*;SRV

符号搜索路径告诉WinDbg在哪里寻找符号(PDB)文件。调试器需要符号文件来获取有关代码模块的信息(函数名称,变量名称等)。

输入以下命令,告诉WinDbg进行其初始查找和符号文件的加载:

.reload

5.要查看Notepad.exe模块的符号,请输入以下命令:

x记事本!*

注意 如果看不到任何输出,请再次输入.reload。

要在Notepad.exe模块中查看包含main的符号,请输入以下命令:

x记事本!*主要*

输出类似于以下内容:
dbgcmd
000000d0`428ff7e8 00007ff6`3282122f notepad!WinMain
...

6.要在notepad!WinMain上放置一个断点,请输入以下命令:

bu记事本!WinMain

要验证是否设置了断点,请输入以下命令:

bl
输出类似于以下内容:

dbgcmd

0 e 00007ff6`32825f64 0001 (0001) 0:**** notepad!WinMain

7.要启动记事本运行,请输入以下命令:

G

记事本将一直运行直到涉及WinMain函数,然后再进入调试器。

dbgcmd

Breakpoint 0 hit
notepad!WinMain:
00007ff6`32825f64 488bc4 mov rax,rsp

要查看在记事本进程中加载的代码模块的列表,请输入以下命令:

lm

输出类似于以下内容:

dbgcmd

0:000> lm
start end module name
00007ff6`32820000 00007ff6`3285a000 notepad (pdb symbols) C:\...\notepad.pdb
00007ffc`ab7e0000 00007ffc`ab85b000 WINSPOOL (deferred)
00007ffc`aba10000 00007ffc`abc6a000 COMCTL32 (deferred)
00007ffc`adea0000 00007ffc`adf3f000 SHCORE (deferred)
00007ffc`af490000 00007ffc`af59f000 KERNELBASE (deferred)
00007ffc`af7d0000 00007ffc`af877000 msvcrt (deferred)
00007ffc`af880000 00007ffc`b0c96000 SHELL32 (deferred)
00007ffc`b0e40000 00007ffc`b0ef7000 OLEAUT32 (deferred)
00007ffc`b0f00000 00007ffc`b0f57000 sechost (deferred)
00007ffc`b0f60000 00007ffc`b1005000 ADVAPI32 (deferred)
00007ffc`b1010000 00007ffc`b1155000 GDI32 (deferred)
00007ffc`b1160000 00007ffc`b1296000 RPCRT4 (deferred)
00007ffc`b12a0000 00007ffc`b1411000 USER32 (deferred)
00007ffc`b1420000 00007ffc`b15f6000 combase (deferred)
00007ffc`b16c0000 00007ffc`b17f9000 MSCTF (deferred)
00007ffc`b1800000 00007ffc`b189a000 COMDLG32 (deferred)
00007ffc`b18a0000 00007ffc`b18f1000 SHLWAPI (deferred)
00007ffc`b1b60000 00007ffc`b1cd8000 ole32 (deferred)
00007ffc`b1cf0000 00007ffc`b1e2a000 KERNEL32 (pdb symbols) C:\...\kernel32.pdb
00007ffc`b1eb0000 00007ffc`b1ee4000 IMM32 (deferred)
00007ffc`b1f50000 00007ffc`b20fa000 ntdll (private pdb symbols) C:\...\ntdll.pdb
要查看堆栈跟踪,请输入以下命令:

k

输出类似于以下内容:

dbgcmd

0:000> k
Child-SP RetAddr Call Site
00000048`4e0cf6a8 00007ff6`3282122f notepad!WinMain
00000048`4e0cf6b0 00007ffc`b1cf16ad notepad!WinMainCRTStartup+0x1a7
00000048`4e0cf770 00007ffc`b1fc4629 KERNEL32!BaseThreadInitThunk+0xd
00000048`4e0cf7a0 00000000`00000000 ntdll!RtlUserThreadStart+0x1d ...

8.要重新开始运行记事本,请输入以下命令:

G

9.要打开记事本,请从“ 调试”菜单中选择打开。

10.要在ZwWriteFile上设置和验证断点,请输入以下命令:

bu ntdll!ZwWriteFile

bl

11.输入 g 以重新启动记事本。在记事本窗口中,输入一些文本,然后从“ 文件”菜单中选择“ 保存 ” 。关于ZwCreateFile,正在运行的代码会中断。输入 k 以查看堆栈跟踪。

在命令行左侧的WinDbg窗口中,注意处理器和线程号。在此示例中,当前处理器号为0,当前线程号为11。因此,我们正在查看线程11(恰好在处理器0上运行)的堆栈跟踪。

12.要查看“记事本”进程中所有线程的列表,请输入以下命令(波浪号):

?

输出类似于以下内容:
dbgcmd

0:011> ~
0 Id: 10c8.128c Suspend: 1 Teb: 00007ff6`31cdd000 Unfrozen
1 Id: 10c8.1a10 Suspend: 1 Teb: 00007ff6`31cdb000 Unfrozen
2 Id: 10c8.1850 Suspend: 1 Teb: 00007ff6`31cd9000 Unfrozen
3 Id: 10c8.1774 Suspend: 1 Teb: 00007ff6`31cd7000 Unfrozen
4 Id: 10c8.1e80 Suspend: 1 Teb: 00007ff6`31cd5000 Unfrozen
5 Id: 10c8.10ac Suspend: 1 Teb: 00007ff6`31cd3000 Unfrozen
6 Id: 10c8.13a4 Suspend: 1 Teb: 00007ff6`31bae000 Unfrozen
7 Id: 10c8.2b4 Suspend: 1 Teb: 00007ff6`31bac000 Unfrozen
8 Id: 10c8.1df0 Suspend: 1 Teb: 00007ff6`31baa000 Unfrozen
9 Id: 10c8.1664 Suspend: 1 Teb: 00007ff6`31ba8000 Unfrozen
10 Id: 10c8.15e4 Suspend: 1 Teb: 00007ff6`31ba6000 Unfrozen
. 11 Id: 10c8.8bc Suspend: 1 Teb: 00007ff6`31ba4000 Unfrozen

在此示例中,有12个线程的索引从0到11。

13.要查看线程0的堆栈跟踪,请输入以下命令:

?0秒

k
输出类似于以下内容:
dbgcmd

0:011> ~0s
USER32!SystemParametersInfoW:
00007ffc`b12a4d20 48895c2408 mov qword ptr [rsp+8], ...
0:000> k
Child-SP RetAddr Call Site
00000033`d1e9da48 00007ffc`adfb227d USER32!SystemParametersInfoW
(Inline Function) --------`-------- uxtheme!IsHighContrastMode+0x1d
00000033`d1e9da50 00007ffc`adfb2f12 uxtheme!IsThemeActive+0x4d
...
00000033`d1e9f810 00007ffc`b1cf16ad notepad!WinMainCRTStartup+0x1a7
00000033`d1e9f8d0 00007ffc`b1fc4629 KERNEL32!BaseThreadInitThunk+0xd
00000033`d1e9f900 00000000`00000000 ntdll!RtlUserThreadStart+0x1d

14.要退出调试并从记事本进程中分离,请输入以下命令:

d


使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。



下载地址

  • PC版

相关软件

腾讯视频最新官方版

腾讯视频官方版 | 45.34MB

腾讯视频官方版

腾讯视频是腾讯旗下的视频播放产品,定位于中国最大在线视频媒体平台,于2011年4月正式上线运营独立域名的视频网站,支持丰富内容的在线点播及电视台直播,提供列表管理..

爱奇艺视频官方正式版

爱奇艺视频官方正式版 | 35.10MB

爱奇艺视频官方正式版

爱奇艺,原名奇艺,于2010年4月22日正式上线,2011年11月26日品牌升级,启动“爱奇艺”品牌并推出全新标志。爱奇艺创始人龚宇博士担任CEO。...

暴风影音最新版下载

暴风影音最新版下载 | 50.3MB

暴风影音最新版下载

暴风影音播放的文件清晰,当有文件不可播时,右上角的“播”起到了切换视频解码器和音频解码器的功能,会切换视频的最佳三种解码方式,同时,暴风影音也是国人最喜爱的播放器之一...

QQ音乐官方正式版

QQ音乐官方正式版 | 24.2MB

QQ音乐官方正式版

QQ音乐是腾讯公司推出的网络音乐平台,是中国互联网领域领先的正版数字音乐服务的领先平台,有着个性明星主题:大咖装,添星妆!...

酷狗音乐2022最新版下载

酷狗音乐2022下载 | 37MB

酷狗音乐2022最新版下载

酷狗是中国领先的数字音乐交互服务提供商,互联网技术创新的领军企业,致力于为互联网用户和数字音乐产业发展提供最佳的解决方案...

酷我音乐官方版下载

酷我音乐下载 | 47.4MB

酷我音乐官方版下载

酷我音乐的界面简洁大方,浅蓝色与橙色相间,符合大多数用户的审美喜好。打开酷我音乐,上部菜单栏包括“我的”、“推荐”、“曲库”、“视频”...