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