正如你可以看到上面的線程窗口,有在完全相同的位置4個的Win32線程,怎麼理解呢? UPDATE
7C92E4BE mov dword ptr [esp],eax
7C92E4C1 mov dword ptr [esp+4],0
7C92E4C9 mov dword ptr [esp+8],0
7C92E4D1 mov dword ptr [esp+10h],0
7C92E4D9 push esp
7C92E4DA call 7C92E508
7C92E4DF mov eax,dword ptr [esp]
7C92E4E2 mov esp,ebp
7C92E4E4 pop ebp
7C92E4E5 ret
7C92E4E6 lea esp,[esp]
7C92E4ED lea ecx,[ecx]
7C92E4F0 mov edx,esp
7C92E4F2 sysenter
7C92E4F4 ret
位置字段是否總是指向**下一個**地址,或者只是在特殊情況下如'sysenter'? – COMer 2010-09-12 23:48:28
當你在看反彙編,然後是,總是。即使你正在談論「調用」指令,一旦它被調用,該指令就結束了。就處理器而言,操作已經完成;它將一個值壓入堆棧並更改了IP寄存器。因此,如果您正在查看調用堆棧的那部分內容,調試器將指示代碼從調用返回時將執行的下一條指令。 – Gerald 2010-09-13 03:05:21
如果符號可用且位置顯示函數/方法名稱,如GrabberCB :: BufferCB,則表示它正在執行該函數/方法內的某些代碼。 – Gerald 2010-09-13 03:10:31