在WinDbg里使用MEX调试扩展

Posted 活着的虫子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WinDbg里使用MEX调试扩展相关的知识,希望对你有一定的参考价值。

简介

针对WinDbg的MEX调试扩展可以帮助您简化常见的调试器任务,并为调试器提供强大的文本筛选功能。此扩展被Microsoft支持工程师广泛用于解决流程应用程序的故障。

下载&安装

  1. 下载mex.exe存档。下载地址https://www.microsoft.com/en-us/download/details.aspx?id=53304
  2. 解压缩到任何文件夹。
  3. 使用以下命令将“MEX Debugging Extension for WinDbg”加载到调试器中:.load(提取的文件夹)\\MEX.dll。

下载之后,解压缩,有两个目录,X64和X86,大家根据自己的需要进行加载,目前我们主要用X64。建议直接把这个扩展拷贝到Windbg运行目录中。

 

使用帮助

加载到windbg后,输入!mex help命令,获取帮助

 

可以看到已经分类显示帮助信息,点击一项查看详细信息,比如“General”

 

使用举例

!clrstack2

此命令用于显示当前线程的托管调用堆栈。

 

!dae

此命令是DumpAllExceptions的缩写。它列出了收集转储时内存中的所有异常。

 

!us

这个命令是UniqueStacks的缩写,它负责列出所有按调用堆栈线程分组的对象。

 

! Mex.writemodule -a -p "destination path"

此命令用于将应用程序使用的所有二进制文件提取到特定路径。

 

以上是关于在WinDbg里使用MEX调试扩展的主要内容,如果未能解决你的问题,请参考以下文章

WinDbg扩展

如果使用WINDBG来调试C语言程序.

[原]调试实战——使用windbg调试TerminateThread导致的死锁

如何设断点????-----使用WinDbg调试SQL Server查询

CLR探索系列:Windbg+SOS动态调试分析托管代码

Windows内核调试器的WinDBG