Go to the first, previous, next, last section, table of contents.

ブレークポイントの設定方

ブレークポイントは `break' コマンドで設定されます(省略形は `b')。 あなたは、ブレークポイントを様々な方法で設定することができます。

break function
function のエントリにブレークポイントを設定します。
break +offset
break -offset
現在選択されているフレーム上で実行を一時停止している場所の offset の行数分だけ、前方、後方にブレークポイントを設定します。
break linenum
カレントのソースファイルの linenum の位置にブレークポイントを 設定します。この場合のソースファイルは、ソース上のテキストが 最後に表示されたものです。このブレークポイントは、その行にある 何らかのコードが実行された時に、プログラムを停止させます。
break filename:linenum
filename というソースファイルの linenum で指定される行に ブレークポイントを設定します。
break filename:function
filename で示されるソースファイルの中にある function に ブレークポイントを設定します。ファイル名とともに関数を指定するのは、 複数のファイルが同一名称の関数を含む場合以外は不要です。
break *address
ブレークポイントを address で示されるアドレスに設定します。 プログラムがデバッギング情報や、ソースファイルを持たない場合などに、 このブレークポイントを設定します。
break
ブレークポイントを、現在選択されているスタックフレーム (see section スタックの調査) 上の次の実行命令に設定します。最深部でない任意の選択されたフレームでは、 このブレークはそのフレームからリターンする時にプログラムを停止させます。 これは、選択されたフレームの内部のフレームにおいて `finish' コマンドを使ったのと同等です。もし、これが最深部のフレームで実行された 時は、GDB は現在の位置の次に達するであろう位置でプログラムを停止 させます; これは、ループの中で使うと便利な機能です。 GDB は、通常、実行が再開された場合は、少なくとも1つの命令が実行される まで、ブレークポイントを無視します。もし、そうなっていないならば、 あなたは最初のブレークポイントを無効にしないと、最後のブレーク ポイントを続けて使うことができなくなってしまいます。このルールは、 いずれにせよ、プログラムが停止した時、既にブレークポイントが存在する ことを可能にしています。
break ... if cond
cond という条件でブレークポイントを設定します; cond の式の 評価はブレークポイントに達した時に行われ、cond の値が非ゼロの時に 停止します。`...' はどこで停止するのかを記述したブレーク ポイントとして記述可能な引数(又は引数なし)を表します。ブレーク ポイントの条件の更に詳しい説明は、See section ブレーク条件
tbreak args
1回だけ停止するブレークポイントを設定します。args`break' コマンドで設定するものと同じであり、ブレークポイントも同一の方法で設定 されますが、最初にヒットした時に、そのブレークポイントは自動的に無効に なります。See section ブレークポイントの無効化

GDB は、プログラムの同一箇所での複数のブレークポイントの設定を許可して います。このことは、バカなことでも無意味なことでもありません。ブレーク ポイントに条件が設定されていた場合に有効な機能です(see section ブレーク条件)。


Go to the first, previous, next, last section, table of contents.