2009-06-22 98 views
4

我想調試一些win32API就像Createthread返回一個句柄。 如何獲得windbg的返回值?如何從windbg函數中獲取返回值?

我做了一些研究,發現返回值一般存儲在EAx寄存器中。

如果我在CreateThread上放置斷點,那麼我可以進入Createthread的彙編,最後我將打開ret語句,這意味着Createthread返回。

此時我應該檢查EAX寄存器的值以獲取HANDLE值還是其他方式?

回答

9

沒有其他方法與測試eax基本不同。

如果你想得到迂腐:

eax適用於32位。

RAX是你想要什麼,64個應用程序

ret0就是安騰採用

$ retreg是一個僞註冊就可以使用,這將檢點於所有情況。

例如

 
0:028> r rax 
rax=00000000fff02000 
0:028> r eax 
eax=fff02000 
0:028> r $retreg 
$retreg=00000000fff02000 
相關問題