2011-10-14 74 views
0

我在kernel32!LoadLibraryExW中設置了一個斷點。在調用窗口中,我有「Source args」切換,但調用堆棧在中斷時仍然不顯示LoadLibraryExW的參數。有沒有辦法輕鬆查看參數?windbg沒有顯示調用堆棧源參數

我已經設置環境變量_NT_SYMBOL_PATH到SRV * C:\ *符號的http://msdl.microsoft.com/download/symbols

+0

我不認爲Windows符號文件包含很多(如果有的話)內部信息。 –

回答

2

不能直接匹配的參數與'函數參數源Args'切換。這些僅適用於私人PDB。 你必須切換'Raw args',並使它們符合MSDN的文檔。 如果您需要超過3個參數,您必須查看從esp開始的內存。 這對於32位來說非常簡單,但它可能會帶來64位的痛苦,因爲參數實際上可能不會寫入堆棧(只有在需要覆蓋和恢復寄存器時,它們才通過寄存器傳遞並複製到堆棧)。有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/ms235286(v=vs.80).aspx如果您可以控制源代碼,請在C編譯器中使用/ homeparams標誌進行編譯,以確保將參數複製到堆棧以便於調試。

0

在X64中,前四個整數參數分別進入rcx,rdx,r8和r9寄存器。 整數參數的其餘部分進入堆棧。

相關問題