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

fork 機能後のプロセス追跡

子プロセスが、関数 vfork(2)fork1(2)、または fork(2) を呼び出すと、プロセス ID が変化しますが、プロセスイメージは変化しません。dbx 環境変数 follow_fork_mode の設定値に従って、dbx は次のいずれかの動作をします。

parent (親プロセス)

従来の動作です。dbx は fork を無視し、親プロセスを追跡します。

child (子プロセス)

dbx は、新しいプロセス ID で、分岐先の子に自動的に切り替わります。元の親のすべての接続と認識が失われています。

both (両方)

このモードは、Oracle Solaris Studio IDE または dbxtool から dbx を使用する場合しか利用できません。

ask (質問)

dbx が fork を検出するたびにプロンプトが表示され、parentchildboth、または stop to investigate のどれかを選択するように促されます。stop を選択すると、プログラムの状態を調べてから、cont と入力して実行を続けることができます。再びプロンプトに従って次の処理を選択します。both がサポートされるのは、Oracle Solaris Studio IDE および dbxtool においてのみです。