p (ステップ実行)
p コマンドは、1 つの命令またはソース行を実行し、必要に応じてすべてのレジスタとフラグの結果の値を表示します。 サブルーチン呼び出しまたは割り込みは、発生すると 1 つのステップとして扱われます。
ユーザー モード
[~Thread] p[r] [= StartAddress] [Count] ["Command"]
カーネル モード
p[r] [= StartAddress] [Count] ["Command"]
パラメーター
Thread
実行を継続するスレッドを指定します。 他のすべてのスレッドは固定されています。 構文の詳細については、「スレッド構文」を参照してください。 スレッドは、ユーザー モードでのみ指定できます。
r
レジスタとフラグの表示をオンまたはオフにします。 既定では、レジスタとフラグが表示されます。 レジスタ表示を無効にするには、 pr、 tr、または .prompt_allow -reg コマンドを使用します。 これらの 3 つのコマンドはすべて同じ設定をコントロールするもので、どのコマンドを使っても、以前に使ったコマンドを上書きすることができます。
l-os コマンドを使用して、レジスタの表示を無効にすることもできます。 この設定は、他の 3 つのコマンドとは別です。 どのレジスタとフラグを表示するかを制御するには、 rm (レジスタ マスク) コマンドを使用します。
StartAddress
実行を開始するアドレスを指定します。 StartAddress を使用しない場合、命令ポインタが指す命令から実行が開始されます。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。
Count
停止する前にステップ スルーする命令またはソース行の数を指定します。 各ステップは、 [デバッガー コマンド] ウィンドウに個別のアクションとして表示されます。 既定値は 1 です。
Command
ステップの実行後に実行するデバッガーコマンドを指定します。 このコマンドは、標準の p 結果が表示される前に実行されます。 Count も使用する場合、指定されたコマンドはすべてのステップが完了した後 (ただし、最終ステップの結果が表示される前に) 実行されます。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ デバッグのみ |
プラットフォーム | すべて |
追加情報
p コマンドの発行と関連コマンドの概要の詳細については、「ターゲットの制御」を参照してください。
解説
Count を指定すると、各命令がステップ スルー時に表示されます。
デバッガーがステップ実行中に 呼び出し 命令または割り込みを検出した場合、ブレークポイントが検出されない限り、呼び出されたサブルーチンは完全に実行されます。 コントロールは、呼び出しまたは割り込みの後の次の命令でデバッガーに返されます。
デバッガーがアセンブリ モードかソース モードかに応じて、各ステップで 1 つのアセンブリ命令または 1 つのソース行が実行されます。 これらのモードを切り替えるには、 l+t コマンドと l-t コマンドまたは WinDbg ツール バーのボタンを使用します。
WinDbg で何度もすばやくステップ実行すると、各ステップの後にデバッグ情報ウィンドウが更新されます。 この更新により応答時間が遅くなる場合は、 .suspend_ui (WinDbg インターフェイスの中断) を使用して、これらのウィンドウの更新を一時的に中断します。