【第一章】常见的调试工具介绍

【第一章】常见的调试工具介绍

一:简介

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

32bit下载: http://www.stevestechspot.com/ct.ashx?id=e5bbe6da-694d-4dfe-b1a4-8d6e0600a7ca&url=http%3a%2f%2fwww.stevestechspot.com%2fdownloads%2fsosex_32.zip

64bit下载:http://www.stevestechspot.com/ct.ashx?id=e5bbe6da-694d-4dfe-b1a4-8d6e0600a7ca&url=http%3a%2f%2fwww.stevestechspot.com%2fdownloads%2fsosex_64.zip

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 触发情况。

下载地址: https://github.com/microsoft/perfview

作者

步步为营

发布于

2024-05-08

更新于

2025-03-15

许可协议