HacK_004
论坛版主
论坛版主
  • 注册日期2010-01-13
  • 最后登录2011-02-17
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2351回复:0

快速上手的几个WinDbg命令

楼主#
更多 发布于:2011-02-10 13:34
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

最新喜欢:

samvonsamvon
只恨很多交叉点我没在中间....
游客

返回顶部