DEBUG の G コマンドはコードの実行に使用されます。その構文は "g [=address] [breakpoints]" です。このコマンドの後にはアドレスとブレークポイントを続けることができます。次のコードまで実行すると一時停止します。メモリ内の指定された場所。パラメータが追加されない場合、デフォルトでは現在の IP からプログラムの最後まで実行されます。
DEBUG G コマンドはコードの実行に使用されます。このコマンドの後にはアドレスとブレークポイントを続けることができます。つまり、形式は g [=address] [breakpoints] です。メモリ内の指定された場所でコードを実行した後、一時停止します。パラメータが追加されない場合、デフォルトは次のとおりです。現在の IP からプログラムの最後まで実行します。
debug コマンド構文
g [=address] [breakpoints]
パラメータ:
アドレス、現在メモリ内にあるプログラムのアドレス、指定実行を開始するアドレス。
breakpoints は、g サブコマンドの一部として設定できる 1 ~ 10 の一時ブレークポイントを指定します。
?は、デバッグサブコマンドリストを表示します。
注:
Windows XP では、このコマンドは使用されません。 MS-DOS ファイルとの互換性を維持するためにのみ使用してください。
有効なアドレス項目を指定してください。アドレスは、アルファベットのセグメント レコード、または 4 桁のフィールド アドレスとオフセットを含む 2 桁の名前です。セグメントレジスタまたはセグメントアドレスは無視できます。
CS は、「デバッグ」サブコマンド a、g、l、t、u、および w のデフォルトのセクションです。他のすべてのコマンドのデフォルトのセグメントは DS です。すべての値は 16 進形式です。セグメント名とオフセットの間にコロンを含める必要があります。有効なアドレスは次のとおりです。
CS:0100 04BA:0100
アドレス パラメータを使用する
アドレスとブレークポイント アドレス (ブレークポイント) を区別するには、アドレス パラメータの前に等号 (=) を使用する必要があります。
ブレークポイントの指定
ブレークポイント リストのどこにブレークポイントを入力しても、プログラムは最初のブレークポイントで停止します。 Debug.exe は、各ブレークポイントで元の命令をブレーク コードに置き換えます。
プログラムがブレークポイントに到達すると、Debug.exe はすべてのブレークポイント アドレスを元の命令に復元し、すべてのレジスタの内容、すべてのフラグのステータス、および最後に実行された命令のデコードされた形式を表示します。 Debug.exe は、r (register) サブコマンドを使用してブレークポイント アドレスを指定した場合と同じ情報を表示するようになりました。
プログラムをブレークポイントで停止しない場合、Debug.exe は割り込みコードを元の命令に置き換えません。
8086 オペレーション コード (opcode) の最初のバイトを含むアドレスにのみブレークポイントを設定できます。 10 個を超えるブレークポイントが設定されている場合、Debug.exe は次のメッセージを表示します。
bp error
ユーザー スタック ポインターの使用
ユーザー スタック ポインターは有効である必要があり、 g サブコマンドに使用できる 6 バイトが必要です。 g サブコマンドは、iret 命令を使用して、テストする必要があるプログラムにジャンプします。 Debug.exe はユーザー スタック ポインターを設定し、ユーザー フラグ、コード セグメント レジスタ、および命令ポインターをユーザー スタックにプッシュします。 (ユーザー スタックが無効であるか小さすぎる場合、オペレーティング システムが失敗する可能性があります。Debug.exe は、指定されたブレークポイント アドレスまたは指定されたアドレスにブレーク コード (0CCh) を配置します。
プログラムを再起動します
次のメッセージが表示された後は、プログラムを再起動しないでください。
Program terminated normally
プログラムを正しく実行するには、n (名前) サブコマンドと l (ロード) サブコマンドを使用してプログラムを再ロードする必要があります。
p サブコマンドを使用してループ、反復文字列命令、ソフトウェア割り込み、またはサブルーチンを実行する方法については、「関連トピック」を参照してください。
t サブコマンドを使用して命令を実行する方法については、「関連トピック」を参照してください。
例現在メモリ内にあるプログラムを実行し、CS セグメントのブレークポイント アドレス 7550 まで実行するには、次のように入力します。
gcs:7550Debug.exe を実行すると、 2 つのブレークポイントを設定するには、次のように入力します:
gcs:7550, cs:8000デバッグ後に g サブコマンドを再度入力する場合。 exe がブレークポイントに遭遇すると、開始アドレスではなくブレークポイントの後の命令から実行が開始されます。
以上がdebug gコマンドの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。