windebug常用命令

使用~查看所有线程

切换到一号线程:~1s

查看所有线程的托管堆栈  ~* e!clrstack

怎么查看,当前线程下,变量的信息?

对于托管代码而言,最核心的命令就是!do(dump object的缩写),后面是要加上变量的地址。

怎么知道当前线程的所有变量的地址?

先来看另外一个命令,!dso(Dump Stack Objects的缩写)

!da  查看数组内容

OS命令(SOS Commands)

=======================

!threads

view managed threads

查看所有托管线程

!clrstack

view the managed call stack

查看托管调用栈

!dumpstack

view combined unmanaged & managed call stack

查看非托管和托管结合的调用栈

!clrstack -p

view function call arguments

查看托管函数调用的参数

!clrstack –l

view stack (local) variables

查看托管栈的局部变量

!name2ee module class

view addresses associated with a class or method

查看某个类或方法的内存地址

!dumpmt –mdaddress

view the method table & methods for a class

查看指定地址的方法表和一个类的方法集

!dumpmd address

view detailed information about a method

显示指定地址的MethodDesc结构信息

!do address

view information about an object

显示某地址的对象的信息, 包括fields, EEClass, Method Table和object size

!dumpheap –stat

view memory consumption by type

显示堆内存的使用

!dumpheap –min size

view memory consumption by object when at least size

查看堆内存使用, 忽略小于size字节大小的对象

!dumpheap –typetype

view memory consumption for all objects of type type

查看所有类型为type的对象的内存使用

!gcroot address

view which object are holding a reference to address

查看所有对指定地址的对象的引用

!syncblk

view information about managed locks

查看托管的锁(SyncBlock结构)

 

SOS 2.0 命令(SOS 2.0 Commands)

 

!bpmd module method

set breakpoint

在指定模块的某一指定的方法上设置断点

!DumpArray address

view contents of an array

查看数组中的元素

!PrintException

view information about most recent exception

格式化地显示最近的异常信息

转载于:https://www.cnblogs.com/50614090/p/9322211.html

WinDBG 是个非常强大的调试器,它设计了极其丰富的功能来支持各种调试任务,包括用户 态调试、 内核态调试、 调试转储文件、 远程调试等等。 WinDBG 具有非常大的灵活性和可扩展性, 用来满足各种各样的调试需求,比如用户可以自由定义调试事件的处理方式,编写调试扩展模块 来定制和补充 WinDBG 的调试功能。 尽管 WinDBG 是个典型的窗口程序, 但是它的大多数调试功能还是以手工输入命令的方式来 工作的。目前版本的 WinDBG 共提供了 20 多条标准命令, 140 多条元命令( Meta-commands), 和难以计数的大量扩展命令。学习和灵活使用这些命令是学习 WinDBG 的关键,也是难点。 上一章我们从设计的角度分析了 WinDBG ,本章将从使用(用户)的角度介绍 WinDBG 。我 们先介绍工作空间的概念和用法(第 1 节),然后介绍命令的分类和不同种类的命令提示符(第 2 节)。 第 3 节介绍不同的调试模式, 也就是如何与不同特征的调试目标建立调试会话。 第 4 节介绍 上下文的概念和在调试时应该如何切换和控制上下文。第 5 节介绍调试事件和如何定制调试事件 的处理方式。 从第 6 节到第 9 节我们将分别介绍如何在 WinDBG 中完成典型的调试操作, 比如控 制调试目标(第 6 节)、设置断点(第 7 节)、观察栈(第 8 节)以及如何观察和修改数据(第 9 节)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值