質問

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

調査を行った結果、戻り値は通常EAxレジスタに保存されていることがわかりました。

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

この時点で、ハンドル値を取得するためにEAXレジスタの値を確認する必要がありますか、それとも他の方法ですか?

役に立ちましたか?

解決

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

つまらないものにしたい場合:

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

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

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

$ retregは、使用可能な擬似レジスタであり、すべての場合に適切に動作します。

e.g。

0:028> r rax
rax=00000000fff02000
0:028> r eax
eax=fff02000
0:028> r $retreg 
$retreg=00000000fff02000
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top