當我將Visual Studio 2012的反彙編窗口用於C#項目時,我期望看到IL代碼。但它顯示了x64組裝。這是由抖動造成的嗎?下面的程序集是反彙編代碼的一部分。爲什麼VS 2012 C#的反彙編窗口顯示x64程序集而不是IL?
public static void Main() {
00000000 sub rsp,1C8h
00000007 xor eax,eax
00000009 mov qword ptr [rsp+60h],rax
0000000e mov qword ptr [rsp+58h],rax
00000013 mov qword ptr [rsp+50h],rax
00000018 mov qword ptr [rsp+38h],rax
0000001d mov qword ptr [rsp+30h],rax
00000022 mov qword ptr [rsp+28h],rax
00000027 mov qword ptr [rsp+20h],rax
0000002c xor eax,eax
0000002e mov dword ptr [rsp+4Ch],eax
00000032 mov dword ptr [rsp+48h],eax
00000036 mov dword ptr [rsp+44h],eax
0000003a mov dword ptr [rsp+40h],eax
0000003e mov rax,7F8786239C0h
00000048 mov eax,dword ptr [rax]
0000004a test eax,eax
0000004c je 0000000000000053
0000004e call 000000005FA4647C
你的期望是錯的。反彙編窗口顯示彙編代碼,而不是IL。如果你想讓IL使用ILDasm,ILSpy等反編譯器。 –
是的,把IL變成真正的可執行代碼是抖動的工作。反彙編窗口顯示該代碼。 –