dbx コマンドによるデバッグ

コマンド参照

run

現在の引数でプログラムを実行するには、run コマンドを単独で使用します。


run

新しい引数を使用してプログラムの実行を開始するには、次のように入力します。


run args

rerun

引数を付けないでプログラムを再実行するには、次のように入力します。


rerun

next

引数を付けないで next コマンドを実行すると、1 行実行します。実行する行が関数の場合は、その関数をすべて実行します。


next

n 行実行するには、次のように入力します。


next n

next コマンドの実行中に指定のシグナルを配信するには、次のように入力します。


next ... -sig sig

dbxenv 変数の step_events は、ステップ中にブレークポイントが有効になるかどうかを指定します。

指定スレッドをステップ実行するには、次のように入力します。


next tid

指定 LWP をステップ実行するには、次のように入力します。


next lwpid

これは、関数をとばすときに、すべての LWP を暗黙で再開するものではありません。明示的な tid または lwpid が指定されている場合、総称 next のデッドロック回避手段は無効になります。

マルチスレッドプログラムでは、関数呼び出しに移動すると、その関数の実行中すべての LWP が暗黙指定で開始されて、デッドロックを回避します。非活動状態のスレッドをとばすことはできません。

cont

cont コマンドは、実行を続ける場合に使用します。マルチスレッドプロセスでは、すべてのスレッドが再開されます。


cont

lineid で指定された行で実行を続けるには、次のように入力します。lineid は任意指定です。


cont lineid

signo で指定されたシグナルで実行を続けるには、次のように入力します。


cont ... -sig signo

特定のスレッドまたは LWP から実行を続けるには、次のように入力します。


cont ... id

実行を続けて、フォークされたプロセスの後を追うには、次のように入力します。


cont ... -follow parent|child

step

step コマンドに引数を付けずに実行すると、1 行ステップ実行します。


step

n 行ステップ実行するには、次のように入力します。


step n

n 行ステップ実行して、現在の関数から出るには、次のように入力します。


step up n

step コマンドの実行中に指定のシグナルを配信するには、次のように入力します。


step ... -sig sig

dbxenv 変数 step_events は、ブレークポイントがステップ中に有効になるかどうかを指定します。

指定のスレッドをステップ実行するには、次のように入力します (step up は適用されません)。


step ... tid

指定の LWP をステップ実行するには、次のように入力します。


step ... lwpid

これにより、関数をステップ実行するときにすべての LWP が暗黙で再開されることはありません。明示的な tid または lwpid が指定されている場合、総称 step のデッドロック回避手段は無効になります。

マルチスレッドプログラムでは、関数呼び出しに移動すると、その関数呼び出しの間中、すべての LWP が暗黙で再開されて、デッドロックを回避します。非活動状態のスレッドのステップ実行はできません。

debug

debug コマンドは、デバッグ中のプログラムの名前と引数を出力します。


debug

プロセスまたはコアを指定しないでプログラムのデバッグを開始するには、次のように入力します。


debug program

コアファイル core を持つプログラムのデバッグを開始するには、次のように入力します。


debug -c core program
または
debug program core

プロセス ID pid を持つプログラムのデバッグを開始するには、次のように入力します。


debug -p pid program
または
debug program pid

コアファイルが一致しない場合でも、その読み込みを強制的に実行するには、次のように入力します。


debug -f ...

すべての displaytracewhen、および stop コマンドを保存するには、次のように入力します。-r オプションが指定されていない場合は、delete allundisplay 0 が実行されます。


debug -r

プログラム名 がダッシュで始まる場合でもプログラムのデバッグを開始するには、次のように入力します。


debug [options] -- program

detach

detach コマンドは、dbx をターゲットから切り離して、保留中のシグナルすべてをキャンセルします。


detach

指定のシグナルの転送中に切り離すには、次にように入力します。


detach -sig sig