前言
windbg 是非常强大的调试工具,但是在使用windbg 进修调试时候,很多的命令不知道如何使用。文章简单介绍如何使用windbg进行调试
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools
一、Windows 调试入门
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools
二、命令分类
1..元命令(windgb操作命令)
可用于 CDB、KD 和 WinDbg 的各种调试器 元命令,这些命令前面都有一个点。可以对进程数据进行显示和调整。
例如:.ecxr 命令显示与当前异常关联的上下文记录。
0:000> .ecxr
eax=00000000 ebx=1e7cb010 ecx=00000000 edx=00000001 esi=66a0eba0 edi=3951c6b0
eip=0012abe0 esp=00cf8df0 ebp=00cf8e38 iopl=0 nv up ei pl nz ac pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210216
lec_teacher!GoodsPreviewWidget::getShowMode:
0012abe0 8b411c mov eax,dword ptr [ecx+1Ch] ds:002b:0000001c=????????
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/meta-commands
2.命令
可用于 CDB、KD 和 WinDbg 的各种调试器 命令。这些命令主要是内部调试使用。
例如:kb命令就是显示堆栈信息的
0:000> kb
*** Stack trace for last set context - .thread/.cxr resets it
# ChildEBP RetAddr Args to Child
00 00cf8dec 002da5ca 96b6b062 3951c6b0 40f28218 lec_teacher!GoodsPreviewWidget::getShowMode [d:\shendun_lec_teacher\origin\version\1.5.7\src\plugin\activity\goods\goodspreviewwidget.cpp @ 22]
01 00cf8e38 66a0c9ba 00000001 3951c6b0 1e7cb010 lec_teacher!GraphicsToolManager::onCountDownAccepted+0x7a [d:\shendun_lec_teacher\origin\version\1.5.7\src\tool\graphics\manager\graphicstoolmanager.cpp @ 739]
02 (Inline) -------- -------- -------- -------- Qt5Core!QtPrivate::QSlotObjectBase::call+0x17 [c:\users\qt\work\qt\qtbase\src\corelib\kernel\