アセンブルと逆アセンブルの手順
デバッガー エンジンは、ターゲット内のコードを表示および変更するためのアセンブリ言語の使用をサポートしています。 デバッガーでのアセンブリ言語の使用の概要については、「アセンブリ モードでのデバッグ」を参照してください。
注 アセンブリ言語は、すべてのアーキテクチャでサポートされているわけではありません。 一部のアーキテクチャでは、必ずしもすべての命令がサポートされているわけではありません。
1 つのアセンブリ言語命令をアセンブルし、結果として得られたプロセッサ命令をターゲットのメモリに配置するには、Assemble を使用します。
ターゲットからプロセッサ命令を取得しアセンブリ命令を表す文字列を生成して、1 つの命令を逆アセンブルするには、Disassemble を使用します。
GetDisassembleEffectiveOffset メソッドは、逆アセンブルする最後の命令の最初の有効なアドレスを返します。 たとえば、逆アセンブルする最後の命令が move ax, [ebp+4]
である場合、有効なアドレスは値 ebp+4
になります。 これは、$ea 擬似レジスタに対応します。
逆アセンブルされた命令を出力コールバックに送信するには、OutputDisassembly メソッドと OutputDisassemblyLines メソッドを使用します。
デバッガー エンジンには、アセンブリと逆アセンブリを制御するいくつかのオプションがあります。 これらのオプションは、GetAssemblyOptions によって返されます。 それらは、SetAssemblyOptions を使用して設定でき、一部のオプションは AddAssemblyOptions で有効にすることも、RemoveAssemblyOptions で無効にすることもできます。