6

ハンドルを返す Createthread のようないくつかの win32API をデバッグしようとしています。windbgで戻り値を取得するには?

いくつかの調査を行ったところ、戻り値は通常 EAx レジスタに格納されていることがわかりました。

CreateThread にブレークポイントを設定すると、Createthread のアセンブリにステップ インでき、最終的には ret ステートメントをヒットします。これは、Createthread が を返していることを意味します。

この時点で、EAX レジスタの値をチェックして HANDLE 値を取得する必要がありますか、それとも別の方法ですか?

4

1 に答える 1

12

基本的に eax のテストと同じではない別の方法はありません。

衒学的になりたい場合:

eax は 32 ビットで正常に動作します。

rax は、64ビットアプリに必要なものです

ret0 は Itanium が使用するものです

$retreg は、すべての場合に適切に動作する、使用できる疑似レジスタです。

例えば

0:028> rラックス
rax=00000000fff02000
0:028> レックス
eax=fff02000
0:028> r $retreg
$retreg=00000000fff02000
于 2009-06-30T01:11:05.653 に答える