快速上手的几个WinDbg命令

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-K
6 :普通断点----
bp MyDriver!xyz
bp f89adeaa
第一行,这个断点设在模块中的一个名字(<module>!<name>)
6 :你可以使用bl (“Breakpoint List”)查看所有已设置的断点:
7 :假设你希望临时停止使用某个断点。bd (“Disable Breakpoint”) 将会完成它
    kd> bd 1
8 :永久移除断点号码,使用bc 1 (“Clear Breakpoint”)
9 :条件断点
10 :d, da, db, dc, dd, dD, df, dp, dq, du, dw (Display Memory)在规定内存范围的内容.--d esp esp+100
11 :.formats--显示多种数值格式
    0:000> .formats 1c407e62
Evaluate 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-315
12 :!process--查看当前进程---!process 0 0--使用摘要的形式查看所有进程.
13 :!dd--显示物理内存.
14 :u---显示一段在内存中的代码的汇编翻译.
    u Range 
    u Address
    u
15 :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 : 0x00191ea0
22 :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 2e
26 :ln 地址----
   ln 8193f0a0
27 :uf 函数名-翻译一个函数用汇编,在内存里
   uf nt!xxxxxxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值