Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

実行進行状況イベント仕様

次に、実行進行状況に関するイベントのイベント仕様について説明します。

exit exitcode

exit イベントは、プロセスが終了したときに発生します。

next

next イベントは、関数がステップされないことを除いては、step イベントと同様です。

returns

このイベントは、現在表示されている関数の戻りのブレークポイントです。表示されている関数を使用するのは、いくつかの up を行なったあとに returns イベント指定を使用できるようにするためです。通常の returns イベントは常に一時イベント (-temp) で、動作中のプロセスが存在する場合にだけ作成できます。

returns function

returns function イベントは、特定の関数がその呼び出し場所に戻るたびに発生します。これは一時イベントではありません。戻り値は示されませんが、SPARC プラットフォームでは $o0、Intel プラットフォームでは $eax を使用して、必須戻り値を調べることができます。

SPARC システム

$o0

x86 システム

$eax

x64 システム

$rax, $rdx

このイベントは、次のコードとほとんど同じ働きをします。


when in func { stop returns; }

step

step イベントは、ソース行の先頭の命令が実行されると発生します。たとえば、次のようにシンプルに表現することができます。


when step { echo $lineno: $line; }; cont

step イベントを有効にするということは、次に cont コマンドが使用されるときに自動的にステップ実行できるように dbx に命令することと同じです。


注 –

step (および next) イベントは一般的なステップコマンド終了時に発生しません。step コマンドは step イベントで次のように実装されます。alias step="when step -temp { whereami; stop; }; cont"