WinDBG 常用命令表[转]
启动, 附加进程, 执行和退出(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 –md address |
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 –type type |
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 |
格式化地显示最近的异常信息 |
资料来源:
WinDbg / SOS Cheat Sheet
http://geekswithblogs.net/.netonmymind/archive/2006/03/14/72262.aspx
SOS.dll (SOS Debugging Extension)
http://msdn.microsoft.com/en-us/library/bb190764.aspx
[转]http://www.cnblogs.com/awpatp/archive/2010/05/30/1747736.html
WinDBG 常用命令表[转]的更多相关文章
- Git教程(2)官方命令文档及常用命令表
http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ...
- 【转载】windbg 常用命令详解
windbg 常用命令详解 https://blog.csdn.net/chenyujing1234/article/details/7743460 vertarget 显示当前进程的大致信息 lmv ...
- windbg常用命令
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols CPU常用命令 载入sos.dll 执行.load C:\Windows\Micr ...
- windbg 常用命令详解
= kd> ln 8046e100 (8046e100) nt!KeServiceDescriptorTableShadow | (8046e140) nt!MmSectionExtendRes ...
- WinDebug 常用命令表【摘】
启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting) ======================= Start -> All ...
- WinDbg常用命令系列---源代码操作相关命令
lsf, lsf- (Load or Unload Source File) lsf和lsf-命令加载或卸载源文件. lsf Filename lsf- Filename 参数: Filename指定 ...
- WinDbg常用命令系列---显示段选择器dg、链接列表dl和字符串ds/dS
dg (Display Selector) dg命令显示指定选择器的段描述符. dg FirstSelector [LastSelector] 参数: FirstSelector指定要显示的第一个选择 ...
- WinDbg常用命令系列---断点操作b*
ba (Break on Access) ba命令设置处理器断点(通常称为数据断点,不太准确).此断点在访问指定内存时触发. 用户模式下 [~Thread] ba[ID] Access Size [O ...
- WinDbg常用命令系列---!uniqstack
简介 这个!uniqstack扩展扩展显示的所有线程的堆栈的所有当前进程,不包括显示为具有重复项的堆栈中. 使用形式 !uniqstack [ -b | -v | -p ] [ -n ] 参数 -b将 ...
随机推荐
- 数据库实例: STOREBOOK > 用户 > 编辑 用户: PUBLIC
ylbtech-Oracle:数据库实例: STOREBOOK > 用户 > 编辑 用户: PUBLIC 编辑 用户: PUBLIC 1. 一般信息返回顶部 1.1, 1.2, 2 ...
- 第九章 JVM调优推荐
说明:本文主要参考自<分布式Java应用:基础与实践> 1.JVM的调优主要是内存的调优,主要调两个方面: 各个代的大小 垃圾收集器选择 2.各个代的大小 常用的调节参数 -Xmx -Xm ...
- 什么是'脑分裂(split brain)'?
这个词明显有点恐怖.设想一下,如果某时刻连接两个控制器之间的通路出现了问题,而不是其中某个控制器死机,此时两个控制器其实都是工作正常的,但是两者都检测不到对方的存在,所以两者都尝试接管所有总线,这时候 ...
- java根据经纬度获取地址
public class GetLocation { public static void main(String[] args) { // lat 39.97646 //log 116.3039 S ...
- 以AVL树为例理解二叉树的旋转(Rotate)操作
树旋转是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合. 树旋转包括两个不同的方式, 分别是左旋转和右旋转. 两种旋转呈 ...
- CommonCode升级:把不常用的Sqlite独立出去
CommonCode大概一年多没有更新了,今天碰到一件闹心的事情,结果用一行代码解决了京东购物车信息提取工具.一不小心,把一贯以来的一个念头又给惹起来了:就是把程序做成又给独立的exe,不要这么多dl ...
- (LeetCode74)Search a 2D Matrix
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- C#.NET常见问题(FAQ)-在VS程序如何取消.vshost的进程
双击执行一个EXE程序,会有两个进程,程序关闭之后,貌似只能关闭你的程序,附加的vshost.exe仍然存在 在调试页面,改成release,同时取消最后一项启用承载进程 在生成页面,将高级选 ...
- Discuz常见小问题-如何实现word文档转成帖子
有一些网站比如QQ空间是可以直接导入Word文件生成网页版本的,但是效果不理想 可以发现图片进来之后都是变形了的 最笨的方法是一个一个复制粘贴(当然也不需要这么麻烦,你可以打开一个word文档之后,保 ...
- listView下拉刷新加载数据
这个下拉效果在网上最早的例子恐怕就是Johan Nilsson的实现,http://johannilsson.com/2011/03/13/android-pull-to-refresh-update ...