2012-01-11 255 views
0

也許StackOverflow不是這個問題的地方,但如果我在錯誤的地方,那麼也許有人可以指點我一個更好的論壇。我想了解一些的WinDbg命令的輸出更好,這的輸出clrstack是:瞭解WinDBG!clrstack命令的輸出

0:008> !clrstack -a 

OS Thread Id: 0xe30 (8) 

ESP  EIP  
04a4f108 7776f871 [HelperMethodFrame: 04a4f108] 

04a4f1ac 73ee70ec System.Diagnostics.EventLog.get_EntryCount() 
    PARAMETERS: 
    this = <no data> 
    LOCALS: 

04a4f1bc 73df24e2 System.Diagnostics.EventLog.CompletionCallback(System.Object) 
PARAMETERS: 
    this = 0x01207574 
    context = <no data> 
LOCALS: 
    0x04a4f1d8 = 0x001c73b7 
    <no data> 
    <no data> 

有誰知道下ESPEIP corresspond價值?此外,PARAMETERS和LOCALS下的值(例如this = 0x01207574)是給出調用該方法的對象的值嗎?或者這意味着什麼?

回答

4

這裏有一些問題的答案:

ESP =堆棧指針寄存器指向你的堆的頭部(增長向下)。

EIP =指令指針(又名PROGRAMM計數器)指向存儲器中的當前執行的指令(向上增長)。

參數顯示函數調用(System.Object)的參數在內存中的位置。

當地人給你的地址和函數中局部變量的值。