栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

(精华)2020年9月6日 .NET Core 程序调试Windbg(基本使用)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(精华)2020年9月6日 .NET Core 程序调试Windbg(基本使用)

Windows Debugger,简称WinDbg,.NET 最强分析调试利器。它可以用来:

  • 调试内核模式和用户模式代码
  • 分析Crash dump
  • 分析代码执行时 CPU 寄存器信息

我们可以通过WinDbg调试以下具体问题:

  • 线程阻塞
  • 内存泄露
  • 分析查询运行时线程堆栈和变量
  • 分析进程Crash原因
  • 分析消耗CPU原因
  • 查看并调试CLR异常
  • …

那么,首先我们先进行Windbg下载安装、配置。

一、下载安装WinDbg,配置调试环境
  1. 推荐下载链接

https://raw.githubusercontent.com/EasyDarwin/Tools/master/Windbg_x86_x64/dbg_amd64.msi

或者从Windows Store下载 WingDbg Preview版本


下载后一步一步安装即可

  1. 配置调试符号

大家会问一个问题:为什么要配置调试符号?

若要使用 WinDbg 提供的所有高级功能,必须加载适当的符号:比如说我们可以调试、查看.NET CLR程序堆栈,此时要加载对应的调试符号。

微软提供了统一的调试服务服务器地址:

1 http://msdl.microsoft.com/download/symbols,将这个地址提供的调试符号,下载缓存到本地,Windbg调试的时候可以用上。
1 srv*c:symcache*http://msdl.microsoft.com/download/symbols;c:symcache


3. 下载并使用WinDbg调试器扩展

Windbg调试器扩展是Windbg调试的精华和核心,可以这么说,掌握各类Windbg调试器扩展,你就掌握了各类调试技能。

默认情况下,WinDbg的调试指令是有限的,通过一些WinDbg调试器扩展,可以方便我们进行.NET 程序调试

SOS调试扩展 : 随着.NET Framework安装,可以直接加载: .load sos clr

SOS这个dll在哪里呢(分32位和64位)?

4.0, 32-bit –> C:WindowsMicrosoft.NETFrameworkv4.0.30319
4.0, 64-bit –> C:WindowsMicrosoft.NETFramework64v4.0.30319

MEX调试扩展:This extension is widely used by Microsoft Support Engineers in troubleshooting process applications

下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=53304

下载完成后,将32/64位的Mex.dll 拷贝到windbg安装目录中

例如:C:Program FilesDebugging Tools for Windows (x64)Mex.dll

详细使用说明:https://github.com/REhints/WinDbg/tree/master/MEX

下载、安装、配置完成Windbg之后,接下来我们了解一下一些基本的调试命令。

二、基本的WinDbg调试指令
  1. WinDbg自带的调试指令



更多指令,可以查看一下链接:

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/getting-started-with-windbg
2. SOS调试扩展常用的调试指令












3. Mex调试扩展常用的调试指令







更多Mex调试指令,可以查看链接:https://github.com/REhints/WinDbg/tree/master/MEX

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号