我开始学习汇编程序了!
我想知道是否可以查看我的c#
代码的汇编代码?
例如,如果我有:
int i;
我怎么能:
答案 0 :(得分:2)
使用调试器查看抖动生成的机器代码。开始调试和单步或设置断点。右键单击编辑器窗口,选择“转到反汇编”。或者使用Debug + Windows + Disassembly。您将要使用的其他调试窗口是寄存器和内存,它们显示原始cpu寄存器和内存视图。右键单击“寄存器”窗口以向视图添加寄存器。
有一些关于你在那里看到的汇编代码的怪癖。所有代码都从地址0开始,它不显示实际地址,因为由于抖动而完全无法预测。但这也导致了一个错误,CALL指令的目标地址是错误的。而且您通常希望看到优化的代码,因为这是用户机器上实际运行的代码。切换到Release版本并使用Tools + Options,Debugging,General,取消选中“在模块加载时抑制JIT优化”选项。
答案 1 :(得分:1)
汇编程序代码通常只在JIT时写入,所以查看它的最佳位置,特别是如果你想了解它,就是查看VS调试器。
http://msdn.microsoft.com/en-us/library/a3cwf295.aspx
如果您的意思是IL(中间语言),这不是汇编语言,但它存储在您的EXE或DLL中。 ILSpy是一个很好的工具。