dbx、truss、および prex は、/proc を使用してターゲットプロセスを制御します。/proc では、1 つのクライアントだけが安全にターゲットプロセスを制御できます。このため、dbx や prex のようなユーティリティを同じターゲットプログラム上で同時に実行することはできません。dbx または truss が実行されているターゲットプログラム上で prex を実行しようとすると、prex は「cannot attach to target (ターゲットに接続できません)」というメッセージを表示します。
ただし、以下の手順によって prex と dbx を交互に実行できます。
prex を起動します。
プローブポイントの状態を設定します。
quit suspend コマンドを実行します。
dbx を起動します。
中断されているプログラムに接続します。
ターゲットは、prex と dbx 以外のコードは実行しません。
ターゲットに SIGSTOP シグナルを送ってそのターゲットを一時停止させてから、"quit resume" を prex に入力することもできます。これを行なった場合には、停止されたプロセス上で dbx を呼び出してから、SIGCONT シグナルを送る必要があります (そうしない場合、dbx がハングします)。