它似乎在这里工作
0:000> !Name2EE pnum Program.PrintNumber
Module: 00007ff81d374148
Assembly: pnum.exe
Token: 0000000006000002
MethodDesc: 00007ff81d375a10
Name: Program.PrintNumber()
JITTED Code Address: 00007ff81d4808e0
0:000> !U /d 00007ff81d4808e0
Normal JIT generated code
Program.PrintNumber()
Begin 00007ff81d4808e0, size 72
C:\Users\xxx\Desktop\pnum\pnum.cs @ 14:
>>> 00007ff8`1d4808e0 55 push rbp
00007ff8`1d4808e1 57 push rdi
00007ff8`1d4808e2 4883ec38 sub rsp,38h
00007ff8`1d4808e6 488d6c2440 lea rbp,[rsp+40h]
00007ff8`1d4808eb 488d7de0 lea rdi,[rbp-20h]
00007ff8`1d4808ef b906000000 mov ecx,6
00007ff8`1d4808f4 33c0 xor eax,eax
00007ff8`1d4808f6 f3ab rep stos dword ptr [rdi]
00007ff8`1d4808f8 833dc93cefff00 cmp dword ptr [00007ff8`1d3745c8],0
00007ff8`1d4808ff 7405 je 00007ff8`1d480906
00007ff8`1d480901 e8cabfa25f call clr!JIT_DbgIsJustMyCode (00007ff8`7ceac8d0)
00007ff8`1d480906 90 nop
C:\Users\xxx\Desktop\pnum\pnum.cs @ 15:
00007ff8`1d480907 c745f405000000 mov dword ptr [rbp-0Ch],5
C:\Users\xxx\Desktop\pnum\pnum.cs @ 16:
00007ff8`1d48090e 48b9a085e778f87f0000 mov rcx,offset mscorlib_ni!System.Reflection.RuntimeMethodInfo.get_IsOverloaded()$##600464C <PERF> (mscorlib_ni+0x285a0) (00007ff8`78e785a0)
00007ff8`1d480918 e8131c525f call clr!JIT_TrialAllocSFastMP_InlineGetThread (00007ff8`7c9a2530)
00007ff8`1d48091d 488945e8 mov qword ptr [rbp-18h],rax
00007ff8`1d480921 488b55e8 mov rdx,qword ptr [rbp-18h]
00007ff8`1d480925 8b4df4 mov ecx,dword ptr [rbp-0Ch]
00007ff8`1d480928 894a08 mov dword ptr [rdx+8],ecx
00007ff8`1d48092b 488b55e8 mov rdx,qword ptr [rbp-18h]
00007ff8`1d48092f 488b0c258036e312 mov rcx,qword ptr [12E33680h] ("The number is ")
00007ff8`1d480937 e8e4baf55b call mscorlib_ni!System.String.Concat(System.Object, System.Object)$##6000550 (00007ff8`793dc420)
00007ff8`1d48093c 488945e0 mov qword ptr [rbp-20h],rax
00007ff8`1d480940 488b4de0 mov rcx,qword ptr [rbp-20h]
00007ff8`1d480944 e8570df35b call mscorlib_ni!System.Console.WriteLine(System.String)$##6000B79 (00007ff8`793b16a0)
00007ff8`1d480949 90 nop
C:\Users\xxx\Desktop\pnum\pnum.cs @ 17:
00007ff8`1d48094a 90 nop
00007ff8`1d48094b 488d65f8 lea rsp,[rbp-8]
00007ff8`1d48094f 5f pop rdi
00007ff8`1d480950 5d pop rbp
00007ff8`1d480951 c3 ret
调用栈
0:000> !DumpStack
OS Thread Id: 0x263c (0)
Current frame: (MethodDesc 00007ff81d375a10 +0x26 Program.PrintNumber())
Child-SP RetAddr Caller, Callee
0000000000b4ed00 00007ff81d4808b4 (MethodDesc 00007ff81d375a00 +0x24 Program.Main()), calling 00007ff81d480488 (stub for Program.PrintNumber())
0000000000b4ed08 00007ff87c9a7070 clr!MethodDescCallSite::CallTargetWorker+0x8e, calling clr!_chkstk
0000000000b4ed40 00007ff87c9a6923 clr!CallDescrWorkerInternal+0x83
0000000000b4ed48 00007ff87c9a7070 clr!MethodDescCallSite::CallTargetWorker+0x8e, calling clr!_chkstk
0000000000b4ed80 00007ff87c9a6838 clr!CallDescrWorkerWithHandler+0x4e, calling clr!CallDescrWorkerInternal
0000000000b4ed90 00007ff87c9a73cc clr!ArgIteratorTemplate<ArgIteratorBase>::GetNextOffset+0x2c, calling clr!ArgIteratorTemplate<ArgIteratorBase>::HasRetBuffArg
0000000000b4edc0 00007ff87c9a70e8 clr!MethodDescCallSite::CallTargetWorker+0x102, calling clr!CallDescrWorkerWithHandler
0000000000b4ee10 00007ff87cb3c851 clr!MethodDesc::IsVoid+0x21, calling clr!MetaSig::IsReturnTypeVoid
0000000000b4ee30 00007ff87c9a7070 clr!MethodDescCallSite::CallTargetWorker+0x8e, calling clr!_chkstk
0000000000b4eec0 00007ff87cb3b210 clr!RunMain+0x25f, calling clr!MethodDescCallSite::CallTargetWorker
0000000000b4f060 00007ff87caa8e4f clr!Thread::SetBackground+0x9e, calling clr!ThreadSuspend::UnlockThreadStore
0000000000b4f0a0 00007ff87cb3bab7 clr!Assembly::ExecuteMainMethod+0xb7, calling clr!RunMain
0000000000b4f130 00007ff88e5fb44d ntdll!RtlpAllocateHeapInternal+0xa2d, calling ntdll!RtlpAllocateHeap
0000000000b4f1e0 00007ff88e5f5ba1 ntdll!RtlpFreeHeapInternal+0x491, calling ntdll!RtlpHpStackLoggingEnabled
0000000000b4f210 00007ff88c171a5e KERNELBASE!WaitForSingleObjectEx+0x8e, calling ntdll!NtWaitForSingleObject
0000000000b4f240 00007ff87cb03ade clr!AppDomain::GetFriendlyNameForDebugger+0x98, calling clr!SString::GetUnicode
0000000000b4f2a0 00007ff88e5f47b1 ntdll!RtlFreeHeap+0x51, calling ntdll!RtlpFreeHeapInternal
0000000000b4f2e0 00007ff87c9a5829 clr!EEHeapFreeInProcessHeap+0x45, calling KERNEL32!HeapFreeStub
0000000000b4f320 00007ff87cb049cb clr!MulticoreJitManager::AutoStartProfile+0x38, calling clr!CLRConfig::GetConfigValue
0000000000b4f330 00007ff87ca50c3e clr!SBuffer::Set+0x46, calling clr!memcpy
0000000000b4f350 00007ff87cb3c73f clr!PEFileSecurityDescriptor::`vector deleting destructor'+0x2f, calling clr!operator delete
0000000000b4f390 00007ff87cb3b96b clr!SystemDomain::ExecuteMainMethod+0x643, calling clr!Assembly::ExecuteMainMethod
0000000000b4f3c0 00007ff87c9a600d clr!EEConfig::GetConfiguration_DontUse_+0x36, calling clr!GetThread
0000000000b4f580 00007ff87c9c8a5c clr!Alloc+0x1af
0000000000b4f5d0 00007ff87c9aaec9 clr!HndAssignHandle+0x25, calling clr!HndWriteBarrier
0000000000b4f600 00007ff87caa8d64 clr!HndCreateHandle+0x8c, calling clr!StressLog::LogOn
0000000000b4f610 00007ff87caa9799 clr!GCHandleManager::CreateGlobalHandleOfType+0x39
0000000000b4f640 00007ff87caa9dd6 clr!CreateGlobalHandleCommon+0x4e, calling clr!DiagHandleCreated
0000000000b4f670 00007ff87cb08a35 clr!AppDomain::SetupSharedStatics+0xf5, calling clr!ErectWriteBarrier
0000000000b4f690 00007ff87cb2d129 clr!SafeHandle::Init+0x41, calling clr!MethodDesc::GetSlot
0000000000b4f6c0 00007ff87cb335b2 clr!EEStartupHelper+0x822, calling clr!CLRException::HandlerState::CleanupTry
0000000000b4f730 00007ff88e5f5ba1 ntdll!RtlpFreeHeapInternal+0x491, calling ntdll!RtlpHpStackLoggingEnabled
0000000000b4f930 00007ff87cb32d65 clr!EEStartup+0x15, calling clr!EEStartupHelper
0000000000b4f990 00007ff87cb3b2b4 clr!ExecuteEXE+0x3f, calling clr!SystemDomain::ExecuteMainMethod
0000000000b4fa00 00007ff87cb3b00d clr!_CorExeMainInternal+0xb2, calling clr!ExecuteEXE
0000000000b4fa60 00007ff88e6207b0 ntdll!RtlSetLastWin32Error+0x40, calling ntdll!_security_check_cookie
0000000000b4fa90 00007ff87cb3c1f4 clr!CorExeMain+0x14, calling clr!_CorExeMainInternal
0000000000b4fad0 00007ff87d6e8c01 mscoreei!CorExeMain+0x112
0000000000b4fb00 00007ff881741560 MSCOREE!GetShimImpl+0x18, calling MSCOREE!InitShimImpl
0000000000b4fb10 00007ff88174acd2 MSCOREE!CorExeMain_Exported+0x102, calling KERNEL32!GetProcAddressStub
0000000000b4fb30 00007ff88174ac42 MSCOREE!CorExeMain_Exported+0x72, calling MSCOREE!guard_dispatch_icall_nop
0000000000b4fb60 00007ff88d6f7034 KERNEL32!BaseThreadInitThunk+0x14, calling KERNEL32!guard_dispatch_icall_nop
0000000000b4fb90 00007ff88e622651 ntdll!RtlUserThreadStart+0x21, calling ntdll!guard_dispatch_icall_nop