c# - 检索 JIT 输出

标签 c# .net clr jit .net-assembly

我有兴趣查看 C# 程序(不是 CLR 字节码指令)的实际 x86 程序集输出。有什么好的方法吗?

最佳答案

在 Visual Studio 中调试应用程序时,您可以右键单击已停止(使用断点)的代码,然后单击“转到反汇编”。您可以通过 native 指令进行调试。

至于使用磁盘上的 *.exe 文件,也许你可以使用 NGen生成 native 输出然后反汇编它(虽然我从未尝试过,所以我不能保证它会起作用)。

以下是用 C# 编写的简单算术运算的一些示例操作码:

            int x = 5;
mov         dword ptr [ebp-40h],5 
            int y = 6;
mov         dword ptr [ebp-44h],6 
            int z = x + y;
mov         eax,dword ptr [ebp-40h] 
add         eax,dword ptr [ebp-44h] 
mov         dword ptr [ebp-48h],eax 

关于c# - 检索 JIT 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928442/

相关文章:

c# - 访问 Windows 窗体控件时,BackgroundWorker 线程失败

.net - 在程序和功能中找不到 .NET Framework 4.7.2?

c# - MSChart滚动条实现+绘图

c# - 如何为 SQLite 创建身份服务器数据库?

.net - 如何识别延迟签名程序集

c# - 在get请求中传递json参数

c# - ConstructorInfo 可以没有 DeclaringType

sql-server - 部署项目时找不到 'ISServerExec.exe'的路径

c# - 在 C# 中使用静态方法实现接口(interface)

c# - SQL Server DateTime 和 C# DateTime