Windbg中常用的几个基本命令

Windbg中常用的几个基本命令

 

1. Symbol 文件设置:

SRV*F:/MicrosoftSymbols*http://msdl.microsoft.com/download/symbols;F:/TestApplicationSymbol

 

2. !Analyze -v

    直接分析当前的dump,能够自动找出第一现场的异常

 

3. ~0s

    切换分析的线程

 

4. kb, kp, k

    查看当前线程的Call Stack

 

5. ~* kb

    查看所有线程的Call Stack

 

6. X msvcrt!printf

    查找printf函数的入口地址

 

7. dds ebp

    打印Call Stack上的二进制值

 

8. bl, bc, bp, ba(break on access), sx (set exception)

    打印、清除、设置断点

 

9. dt

    格式化显示

 

10. .dump /ma f:/dumpfile.dump

    保存dump文件

 

 

托管代码常见命令:

 

11. .loadby sos mscorwks

    加载托管代码分析命令

 

12. !clrstack, !dumpstack

     查看当前线程的托管堆栈

 

13. ~* e !clrstack

    查看所有线程的托管堆栈

 

14. !dso (!dumpstackobject)

    查看当前堆栈的对象

 

15. !do (dumpobject)

    查看某个托管对象

 

16. !PrintException

    查看异常对象

 

17. 设置托管代码断点

0:006> !name2ee Snoop.exe Snoop.AppChooser
Module: 00382c5c (Snoop.exe)
Token: 0x02000024
MethodTable: 00386d98
EEClass: 00411b64
Name: Snoop.AppChooser
0:006> !dumpmt -md 00386d98
EEClass: 00411b64
Module: 00382c5c
Name: Snoop.AppChooser
mdToken: 02000024  (F:/SnoopSource/Snoop/Build/Release/Snoop.exe)
BaseSize: 0x1cc
ComponentSize: 0x0
Number of IFaces in IFaceMap: 9
Slots in VTable: 356
--------------------------------------
MethodDesc Table
   Entry MethodDesc      JIT Name
5777c028   5763ddd4   PreJIT System.Windows.Controls.Control.ToString()

... ...

012e06b0   00386cc0      JIT Snoop.AppChooser.Refresh()

 

0:006> !bpmd -md 00386cc0     
MethodDesc = 00386cc0
Setting breakpoint: bp 012E06B0 [Snoop.AppChooser.Refresh()]

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值