WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。
系列博文
- 《WinDbg 命令三部曲:(一)WinDbg 命令手册》
- 《WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册》
- 《WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册》
导航目录
SOSEX 调试命令手册
扩展加载命令
| 命令 | 描述 |
| .load |
.load sosex .load C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\sosex.dll
|
SOSEX扩展命令
| 命令 | 描述 |
|
!bhi |
!bhi [filename] BuildHeapIndex 用于对 GC 堆内的对象构建一个索引文件。 这将使 !gcroot 和 !refs 命令工作的更加快速。 索引内容将被存储到给定的文件名的文件中。 如果未指定文件名,则默认的文件名为 %dumppath%\%dumpname%_heapindex.bin 。 |
|
!chi |
!chi ClearHeapIndex 释放堆索引使用的所有资源,并从内存中移除。 |
|
!dlk |
!dlk [-d] 检测 SynczBlock 死锁。 -d 同时也检测 ReaderWriterLock 或 ReaderWriterLockSlim 的衍生类。 |
|
!dumpfd |
!dumpfd <FieldAddr> 显示 FieldDef 结构的属性值。 |
|
!dumpgen |
!dumpgen <intGenNum> [-free] [-stat] [-type <TYPE_NAME>] [-nostrings] 以如下格式显示指定代的内容: hexAddr decSize strTypeName -nostrings 不显示对象名称或字符串数据。 -free 仅包括 FREE 的对象类型。 -stat 仅显示一个综合的统计。 -type 仅包含类型名称字符串中包含给定子字符串的对象数据。
|
|
!finq |
!finq [GenNum] [-stat] 显示终结化队列中的对象,并根据代来分类。 GenNum 给定的代(generation)。 -stat 显示统计信息。
|
|
!frq |
!frq [-stat] 显示可达队列(Freachable Queue)中的对象。
|
|
!gcgen |
!gcgen <hexObjectAddr> 获取给定对象在 GC Heap 中的代数。如果对象在 LOH 中,则会提示 “Large Object Heap”。 |
|
!gch |
!gch [-HandleType] [-stat] 列出所有 GCHandle 实例。 -HandleType 指定句柄的类型。!gch -Pinned -Strong -stat 根据句柄类型进行统计。 有效的类型有:
|
|
!lhi |
!lhi [filename] LoadHeapIndex 从给定的文件中加载堆索引。 如果未指定文件名称,则默认的文件名称为 %dumppath%\%dumpname%_heapindex.bin。 |
|
!mbc |
!mbc <Managed Breakpoint ID | *> 移除指定 ID 的断点。* 为移除全部。 |
|
!mbd |
!mbd <Managed Breakpoint ID | *> 使失效,但不移除断点。 |
|
!mbe |
!mbe <Managed Breakpoint ID | *> 使断点生效。 |
|
!mbl |
!mbl <Managed Breakpoint ID> 显示给定 ID 的断点,或列出所有托管断点及其状态。 |
|
!mbm |
!mbm <method filter> [ILOffset] [Options] 在指定的方法及偏移处设置断点。 |
|
!mdso |
!mdso [Options] 显示在当前上下文中,对象在栈上和 CPU 寄存器中的引用。 /a 显示栈上所有对象的引用。 /r 仅显示寄存器中的对象。 /c:n 限定显示的对象的数量为 n。 /t:typeFilter 限制显示的对象的类型。 /mt:MT 限制显示的对象为指定的方法表。 |
|
!mdt |
!mdt [typename | paramname | localname | MT] [ADDR] [-r[:level]] [-e[:level]] [-start:index] [-count:n] 显示指定对象或类型的字段信息。 -r 递归显示字段信息。 -e 指定的类型将被扩展。
|
|
!mdv |
!mdv [nFrameNum] 显示当前帧中的参数或局部变量的信息。帧来自 !mframe 命令。
|
|
!mfrag |
!mfrag [-stat] [-mt:<MT>] 输出空闲的块报告。 -stat 显示统计报告 -mt:MT 仅显示碎片信息 |
|
!mframe |
!mframe [frame number] 为 !mdt 或 !mdv 命令设置当前的托管帧。 |
|
!mgu |
!mgu 返回在当前调用栈中最后一个托管调用者的当前位置。 |
|
!mk |
!mk [-l] [-p] [-a] [-c] [-cc] 显示调用栈中托管和非托管帧的组合。 -l 显示局部变量 -p 显示参数 -a 显示局部变量和参数(Locals + Parameters) -c 清理 -cc 清理,同时也拆解名空间。
|
|
!mln |
!mln [address expression] 显示给定地址处的 CLR 数据类型。
|
|
!mlocks |
!mlocks [-d] 显示线程中所有的托管锁对象和 CriticalSections 对象。 -d 同样搜索 ReaderWriterLock 或 ReaderWriterLockSlim 的衍生类。 |
|
!mroot |
!mroot <ObjectAddr> [-all] 显示指定对象的 GC 根。 通常情况,仅显示第一个 Root 路径。 -all 显示所有的路径,这可能会耗费较长的时间。 |
|
!mt |
!mt 步进至当前位置的托管方法。 |
|
!mu |
!mu [address] [-s] [-il] [-n] 显示托管和非托管反汇编的交叉信息。 -s 显示源代码,如果可用。 -il 显示 IL 反汇编程序。 -n 显示原生的反汇编程序。 默认情况为 IL 和 Native 均显示。
|
|
!muf |
!muf [MD Address | CodeAddress] [-s] [-il] [-n] 根据给定的 MD 信息进行反汇编,并显示交叉信息。 -s 显示源代码,如果可用。 -il 显示 IL 反汇编程序。 -n 显示原生的反汇编程序。 默认情况为 IL 和 Native 均显示。
|
|
!mwaits |
!mwaits [-d | LockAddr] 显示所有正在等待的线程。如果可知的话,同时显示正在等待的锁的信息。 -d 同样搜索 ReaderWriterLock 或 ReaderWriterLockSlim 的衍生类。 LockAddr 列出所有等待该地址锁的线程。 -d 和 LockAddr 选项是互斥的。 |
|
!mx |
!mx <Filter String> 显示任意匹配的类型、方法、字段等。 |
|
!rcw |
!rcw [Object or SyncBlock Addr] 显示 RuntimeCallableWrapper 数据。 |
|
!refs |
!refs <hexObjectAddr> [-target|-source] 列出指定对象的所有的引用。 -source 仅显示指定对象所持有的引用。 -target 仅显示持有指定对象的引用。 格式化的输出采用如下格式: hexAddr decSize strTypeName
|
|
!rwlock |
!rwlock [ObjectAddr | -d] 显示所有的 RWLock。如果给定 RWLock 地址,则显示该锁的详细信息。 -d 同样搜索 ReaderWriterLock 或 ReaderWriterLockSlim 的衍生类。
|
|
!strings |
!strings [ModuleAddress] [Options] 在托管堆或指定的模块中搜索匹配的字符串信息。 可选项: g:<min gen> 列出指定 GC 代数中的字符串。有效的参数为 0、1、2 和 3(LOH)。 m:<match filter> 显示指定匹配规则的字符串。 n:<min length> 显示字符串的长度的最小值。 x:<max length> 显示字符串的长度的最大值。
|
参考资料
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。
系列博文
- 《WinDbg 命令三部曲:(一)WinDbg 命令手册》
- 《WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册》
- 《WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册》
WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册的更多相关文章
- windbg指定SOS版本,执行扩展命令报错
调试dump文件,加载相匹配版本的sos/clr时,绝大多数都是可以正常使用的. 然而凡事都有例外,今天在做类似工作时,遇到了错误: CLRDLL: Consider using ".cor ...
- linux常用终端命令(三)远程管理命令
三.远程管理常用命令 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 1.关机/重启 序号 命令 对应英文 作用 01 shutdow ...
- WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...
- WinDbg 命令三部曲:(一)WinDbg 命令手册
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...
- WinDbg命令三部曲
WinDbg 命令三部曲:(一)WinDbg 命令手册 WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册 WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
- Linux常用命令之网络和关机重启命令
目录 1.网络命令 一.给指定用户发送信息:write 二.给所有用户发送广播信息:wall 三.测试网络连通性:ping 四.查看和设置网卡信息:ifconfig 五.查看发送电子邮件:mail 六 ...
- windbg学习进阶之——dump分析常用命令收集
#重要说明 (1) windbg命令分为标准命令,元命令和扩展命令. 标准命令提供最基本的调试功能,不区分大小写.如:bp g dt dv k等 元命令提供标准命令没有提供的功能,也内建在调试 ...
- .NET 调试入门(三)常用的命令
windbg ANSI Command Tree 1.0 title {"Crash Dump Analysis Checklist"} body {"Crash Dum ...
- 高级Bash脚本编程指南(27):文本处理命令(三)
高级Bash脚本编程指南(27):文本处理命令(三) 成于坚持,败于止步 处理文本和文本文件的命令 tr 字符转换过滤器. 必须使用引用或中括号, 这样做才是合理的. 引用可以阻止shell重新解释出 ...
随机推荐
- IOS App Integrate Google Map Problems and Method to solve them
1. You must get a key in google developer center, and register it in below function in AppDelegate.m ...
- mysql错误用法insert into where
mysql中给表中插入数据,一般使用insert into. 但是在插入数据时,有时会根据条件来插入数据,比如insert into t_person(num,name) values(1,'lily ...
- MC的一些具体的应用的例子的总结
任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用. 对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多. memcached的最常用的场景 ...
- mybaits中xml文件大于号和小于号的处理方法
1.转义字符 原符号 < <= > >= & ' " 替换符号 < <= > >= & ' " 2 ...
- object-assign合并对象
1. Object.assign() 对于合并对象操作, ECMAScript 6 中提供了一个函数: Object.assign(target, source); 这个方法会将所有可枚举 [1] 的 ...
- Linux搭建smtp服务器+laravel5.2发邮件配置
/** * 这里主要是想通过自己搭建smtp服务器,配置laravel5.2框架,实现邮箱发邮件功能, * 主要内容是搭建smtp服务器,laravel5.2发邮件顺手提一下 */ /** * 1.l ...
- 爬虫---request+++urllib
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...
- wpf 任务栏闪烁
[StructLayout(LayoutKind.Sequential)] public struct FLASHWINFO { public UInt32 cbSize; public IntPtr ...
- PHP--字符串处理函数
字符串的声明 1. 2. 3. [注]单引号与双引号声明字符串的区别: 1.strlen():获取字符串长度 2.substr():截取字符串 3.strpos():查找字符串在指定字符串中的位置 4 ...
- Java学习笔记16--异常
异常 异常是导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失, 所以在程序的设计中必须要考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序 ...













