WinDebug 常用命令表【摘】
启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting)
=======================
|
Start -> All Programs -> Debugging Tools for Windows -> WinDBG |
启动 |
|
|
F6 |
attach to process |
附加到进程 |
|
Ctrl-Break |
interrupt debugee |
中断正在被debug的程序 |
|
.detach |
detach from a process |
脱离进程 |
|
g |
continue debugee execution |
继续执行被debug的程序 |
|
q |
exit WinDBG |
退出WinDBG |
获得帮助(Getting Help)
=======================
|
? |
help on commands that affect the debugee |
列出所有的内置命令和操作符 |
|
.help |
help on commands that affect the debugger |
列出所有的元命令 |
|
.hh command |
view the on line help file |
打开WinDBG的帮助文件 |
|
!help |
help on the extension dll at the top of the chain (e. g., SOS) |
列出扩展DLL中的扩展命令帮助 |
操纵命令(Issuing Commands)
=======================
|
up arrow, down arrow, enter |
scroll through command history |
浏览命令历史 |
|
Right mouse button |
paste into command window |
在命令窗口中粘贴 |
检查非托管环境(Examining the Unmanaged Environment)
=======================
|
lmf |
list loaded modules with full path |
列出已加载了的模块及其完整路径 |
|
lmt |
list loaded modules with last modified timestamp |
列出已加载了的模块和最后修改的时间戳 |
|
~ |
list unmanaged threads |
列出所有非托管线程 |
|
~thread s |
select a thread for thread specific commands |
|
|
!token -n |
view thread permissions |
|
|
k |
view the unmanaged call stack |
查看非托管调用栈 |
|
!runaway |
view thread CPU consumption |
显示每个线程占用的时间 |
|
bp |
set a breakpoint |
设置一个断点 |
|
.dump path |
dump small memory image |
创建一个小的dump内存镜像 |
|
.dump /ma path |
dump complete memory image |
创建一个完整的dump文件 |
使用Debuger DLL扩展(Working with Extension DLLs (e. g., SOS))
=======================
|
.chain |
list extensions dlls |
列出所有加载了的debugger extension |
|
.load clr10\sos |
load SOS for debugging framework 1.0 / 1.1 |
加载.net 1.1托管程序的debug扩展 |
|
.unload clr10\sos |
unload SOS |
卸载SOS |
|
.loadby sos mscorwks |
load SOS for debugging framework 2.0 |
加载.net 2.0的debug 扩展 |
SOS命令(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 |
格式化地显示最近的异常信息 |

WinDebug 常用命令表【摘】的更多相关文章
- Git教程(2)官方命令文档及常用命令表
http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ...
- windebug常用命令
使用~查看所有线程 切换到一号线程:~1s 查看所有线程的托管堆栈 ~* e!clrstack 怎么查看,当前线程下,变量的信息? 对于托管代码而言,最核心的命令就是!do(dump object的 ...
- WinDBG 常用命令表[转]
启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting) ======================= Start -> Al ...
- git常用命令表
本文主要是用来记录一些在git管理的项目中常见的场景及其对应的命令,方便自己和他人使用的时候快速查询.如有不对,敬请指正. 查看某个git命令的帮助文档 git help [command] 查看各个 ...
- mysql 常用命令 | 表间 弱关联 join
show databases; use mhxy; select database(); show tables; desc account_list_175; ),(); select from_u ...
- docker-image container 基本操作 -常用命令
基本概念: container 容器.可以把每个 container 看做是一个独立的主机. container 的创建通常有一个 image 作为其模板.类比成虚拟机的话可以理解为 image 就是 ...
- MySQL处理数据库和表的常用命令
MySQL处理数据库和表的常用命令 [导读] 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一 ...
- Git 常用命令速查表(图文+表格)
一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...
- HBase表的基本结构和常用命令行操作
一.HBase表的基本结构 1.概述: 平时常见的MySQL.Oracle数据库都是传统型关系数据库,它们都是按行查询.按行存储:而HBase为非关系型数据库,它是按列存储的的. 在HBase插入数据 ...
随机推荐
- call, apply的用法意义以及区别是什么
call和apply没有什么大的区别,两者的作用都是:改变对象的this指向的内容. 他们的写法不同,如下: func.call(func1, var1, var2, var3); func.appl ...
- objective-c 加号 减号 - +
“加号代表static”是错误的说法,可能跟你那样表达的人其实意思是:“前置加号的方法相当于Java 里面的静态方法”. 在Oc中,方法分为类方法和实例方法. 前置加号(+)的方法为类方法,这类方法是 ...
- javaScript的使用
<script>XXX</ccript>HTML文件插入js的主要方法.这个标签主要有以下的几个属性: 1,charset:可选.表示通过src属性指定的字符集. 2,defe ...
- [转] linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- linux 下各errno的意义
strerror(errno):获取errno对应的错误 #include <string.h> /* for strerror */ #include <errno.h> # ...
- Android(java)学习笔记225:Activity 4 种启动模式
1. 任务栈(task stack): 任务栈 是用来记录用户操作的行为,维护一个用户体验. 一个应用程序一般都是由多个activity组成的. 任务栈(task stack)记录存放用户开启的act ...
- 兼容所有浏览器的JQuery zClip插件实现复制到剪贴板功能
相信这个功能大家平时上网经常能碰到,以前也没怎么留意怎么实现的,直到项目中需要. 网上一搜一大堆,单纯使用js方法也不是没有,但是由于各浏览器的安全机制不同,不是跨浏览器的.去看了几个常用的网站,都是 ...
- ASP.NET菜鸟之路之登录系统
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据书上的例子做了一个比较粗糙的登录例 ...
- [转]Delphi 中动态链接库(dll)的建立和使用
动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源.由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可 ...
- 关于idea激活
1.在线激活 https://www.iteblog.com/idea/ 使用可访问:http://idea.iteblog.com/ 或者 http://idea.lanyus.com/ ht ...