【第一章】常见的调试工具介绍
一:简介
1. 初衷
.NET 高级调试 的权威性无需多言,是我们学习 高级调试 的一本必备书籍。

这本书是 2011.1
出版的译本,采用的是 .NET Framework 2.0
,部分内容已经老旧,时过 11 年之后,书中的内容还是非常值得学习的,也是别人书中的 参考书
。
很多新手朋友反馈这本书说的太深,学习起来比较困难,由于我在这一块研究时间较长,所以有必要录制一套针对此书的 <<视频教程>>, 帮助大家快速的入门。
2. 必备的基本环境
介于书中会聊到 SosEx 插件,我决定使用最新的 .NET Framework 4.8 版本来介绍此书。
.NET Framework 4.8
CoreCLR 源码
WinDbg Preview
Visual Studio 2022
二:调试工具介绍
1. SOS
SOS 是访问 CLR 内部数据的一组接口函数,如下图所示:
1)文件位置
SOS 区别 32bit 和 64bit 版本。
32bit:C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll
64bit:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll
2)如何加载
WinDbg Preview:会自动加载 SOS,使用 .chain 命令观察。
WinDbg10: 需要用 .load 命令手工加载。
2. SOSEX
这是 dll 是对 SOS 非常有力的扩展,提供了非常多的实用函数。
1) 下载地址
官网地址: http://stevestechspot.com/SOSEXV40NowAvailable.aspx
3. .net反编译工具
.NET 反编译器可以反编译 IL 代码,让 IL 代码反转成 C# 代码,这里我推荐两款工具
1)ILSpy
下载地址: github:https://github.com/icsharpcode/ILSpy
2)DnSpy
这个工具不仅可以反编译 C# 代码,还可以对 .NET Framework 程序进行调试。
下载地址:https://github.com/dnSpy/dnSpy/releases
4. PerfView
这是 CLR 团队调优 CLR 使用的工具,可以实时监控程序的行为,比如程序的 GC 触发情况。
【第一章】常见的调试工具介绍