快速上手的几个WinDbg命令

    技术2025-05-03  39

    1 :使用!sym noisy 命令以获得关于WinDbg尝试获取symbols的更多信息。    !sym noisy    2 :!lmi 查看WinDbg知道多少关于ntoskrnl的信息。      !lmi kernel32     3 :.srcpath e:/Win2003SP1它的意思是:想要source文件,请查看e:/Win2003SP1目录。4 :下断点:bu sioctl!DriverEntry    bu (“Breakpoint Unresolved”)命令将会延迟断点的设置时间,直到该模块被加载;也就是说WinDbg会探测“DriverEntry”。如果没有什么需要做,按下F5(你也可以输入g, “Go”)5 :未加载所有驱动断点----CTRL-ALT-K6 :普通断点----bp MyDriver!xyzbp f89adeaa第一行,这个断点设在模块中的一个名字(<module>!<name>)6 :你可以使用bl (“Breakpoint List”)查看所有已设置的断点:7 :假设你希望临时停止使用某个断点。bd (“Disable Breakpoint”) 将会完成它    kd> bd 18 :永久移除断点号码,使用bc 1 (“Clear Breakpoint”)9 :条件断点10 :d, da, db, dc, dd, dD, df, dp, dq, du, dw (Display Memory)在规定内存范围的内容.--d esp esp+10011 :.formats--显示多种数值格式    0:000> .formats 1c407e62Evaluate expression:  Hex:     1c407e62  Decimal: 473988706  Octal:   03420077142  Binary:  00011100 01000000 01111110 01100010  Chars:   .@~b  Time:    Mon Jan 07 15:31:46 1985  Float:   low 6.36908e-022 high 0  Double:  2.34182e-31512 :!process--查看当前进程---!process 0 0--使用摘要的形式查看所有进程.13 :!dd--显示物理内存.14 :u---显示一段在内存中的代码的汇编翻译.    u Range     u Address    u15 :kp---显示栈回溯.16 :lm---显示加载的模块.和符号文件.17 : !drvobj SrcDbgKnlDrv     Driver object (8219f5f0) is for:       /Driver/SrcDbgKnlDrv     Driver Extension List: (id , addr)          Device Object list: 18 : !devobj SrcDbgKnlDrv     Device object (82138030) is for:       SrcDbgKnlDrv /Driver/SrcDbgKnlDrv DriverObject 8219f5f0     Current Irp 00000000 RefCount 0 Type 00000022 Flags 000000c0     Dacl e10361f4 DevExt 00000000 DevObjExt 821380e8       ExtensionFlags (0000000000)         Device queue is not busy. 19 :!devstack 82138030 ---通过!devhandles 命令可以查看设备被打开的句柄。        !DevObj      !DrvObj                        !DevExt      ObjectName     > 82138030    /Driver/SrcDbgKnlDrv00000000    SrcDbgKnlDrv 20 : !analyze –v---取得摘要。该命令可能会提出执行上下文 (.cxr);通过设置该上下文,你可以访问错误发生时的call stack (最接近错误的那个)。21 :0:000> dt nt!_PEB Ldr 7ffdf000 --显示数据结构   +0x00c Ldr : 0x00191ea022 :dds, dps, dqs (Display Words and Symbols)-显示给定范围内存的值 23 :s [-[[Flags]Type]] Range Pattern -在一个内存范围搜索一个特征值    0:000> s 0012ff40 L20 'H' 'e' 'l' 'l' 'o'     0:000> s 0012ff40 L20 48 65 6c 6c 6f    0:000> s -a 0012ff40 L20 "Hello"24 :!process PID 属性-----   !process 0 0 显示所有进程,和普通属性15 :!idt vectorNum   !idt 2e26 :ln 地址----   ln 8193f0a027 :uf 函数名-翻译一个函数用汇编,在内存里   uf nt!xxxxxxx

    最新回复(0)