查看 JIT 与本地反汇编
JetBrains Rider 允许您研究由 JIT、ReadyToRun 和 NativeAOT 编译器生成的 C# 方法的反汇编。
安装 .NET Disassembler 插件
此功能依赖于 .NET Disassembler插件,您需要安装并启用。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 Marketplace 选项卡,找到 .NET Disassembler 插件,然后点击 安装 (如有提示,请重启 IDE)。
查看 C# 代码的反汇编
打开 ASM 窗口:可以点击右侧工具栏上的相应按钮,或从菜单中选择 。
将光标置于方法、属性、构造函数或类型声明上。 反汇编内容将显示在 ASM 窗口中。

您可以使用 ASM 查看器了解源代码的更改如何影响反汇编输出,帮助您微调底层执行与性能。
比较反汇编输出
当代码的第一个版本已在编辑器中打开后,请将光标定位到所需符号(类、方法、属性),等待渲染反汇编视图,然后点击工具栏上的 创建快照
。将创建一个快照,并启用差异视图。 最初,差异的两侧内容相同。
对代码进行必要修改,检查新反汇编代码与原始代码的差异。 如有需要,请点击 ASM 查看器工具栏上的 强制重新编译。
要结束比较会话,请点击 ASM 查看器工具栏上的 删除快照。 这将删除原始快照,并恢复当前源代码状态下的常规反汇编视图。

ASM 查看器设置
要配置 ASM 查看器设置,请在工具栏点击 设置。
下表详细列出了所有可用设置。 请注意,ASM 查看器设置会为您打开的每个解决方案分别保存。
输出
显示注释 | 启用 JIT 编译器注解,例如优化标志、CPU 目标、PGO 统计和函数前序大小。 |
|---|---|
差异友好输出 | 将反汇编格式化为跨多次运行更稳定,便于比较差异(如减少地址噪音)。 |
编译
使用分层编译 | 启用分层 JIT 编译,方法会先以快速启动方式编译,后续重复执行时会以更高级别优化重新编译。 |
|---|---|
使用 PGO(性能分析引导优化) | 启用基于分析的优化,允许 JIT 使用运行时执行数据生成更优化的本地代码。 |
代码生成器 | 选择用于生成反汇编代码的 JIT 代码生成器实现。 |
构建
dotnet build | 在生成反汇编前,使用 |
|---|---|
跳过包还原 | 在构建步骤中跳过 NuGet 软件包还原。 仅适用于 dotnet build 模式。 |
dotnet publish | 在生成反汇编前,使用 |
目标框架 | 指定用于构建和 JIT 反汇编的目标 .NET Framework。 格式必须为 TFM 标准。 例如, |
运行时
运行项目 | 执行项目,以便在收集反汇编前进行运行时 JIT 编译。 可能会增加生成反汇编所需的时间。 |
|---|---|
超时(秒) | 生成反汇编前,允许构建和/或执行的最长时间,超时则中止。 设置为 |