我不確定我是否正確理解dds esp
或其64位對應部分dqs rsp
的原始輸出。當我看到堆棧中的條目列表時,我傾向於認爲,無論我看到返回地址的哪個位置,都是尚未返回的代碼調用。 IOW,將它們串在一起應該形成一個很好的調用堆棧。 (現在讓我們不用爲k*
一組Windbg命令而煩惱。)情況並非總是如此嗎?Windbg上的'dds esp'
由於存在一些第三方擴展,它對esp/rsp輸出進行操作,並將條目串起來看起來像一個調用堆棧,但似乎無法與我看到的順序相匹配來源(呃,無論我有什麼資料來源)。甚至還有很久以前返回的函數。
我缺少什麼?
UPDATE:
行 - 我使用第三方擴展並說:
Dumps (dps) from the stack limit the base only showing items that include the ! followed by +0x
所以,問題就變成了是什麼該條目?我認爲這是一些函數的返回地址,正在修復以調用另一個函數?
謝謝托馬斯。我想這意味着列出esp/rsp並不是線程是否執行特定函數的可靠指示器? (即通過某些符號名稱來尋找__函數地址)。 – ForeverLearning