ブレークポイント
ブレークポイントの指定機能は多くのデバッガに備えられており、これを用いることでプログラムの任意箇所への到達を自動的に捕捉できる。ブレークポイントでの停止後、プログラマは通常のデバッグ作業同様に実行環境(メモリ、レジスタ、ログ、ファイルなど)を観察し、プログラムが期待通りに機能しているかどうかを判断する。
通常、ブレークポイントにはプログラムの実行を中断させるかどうかを決定する1つ以上の条件を設定できる。
最も一般的なブレークポイントは、指定した命令を実行する前にプログラムの実行を停止する。これを「命令ブレークポイント」などと呼ぶ。
また、メモリの特定領域の読み込み、書き込み、更新をトリガーとして停止させる場合もある。これを「データブレークポイント」あるいは「ウォッチポイント」などと呼ぶ。
他にも時刻を指定する方式のブレークポイント、キー入力などをトリガーとするブレークポイントがある。
CPUの多くはブレークポイントをハードウェアでサポートしている。このハードウェアには、分岐遅延スロットにある命令にはブレークポイントを設定できないなどといった制限がある場合もある。そのような制限はマイクロアーキテクチャに起因するもので、プロセッサによって様々である。大まかに言えば、ブレークポイントに到達すると例外を発生し、それによってデバッグ対象プロセスを実行できない状態に遷移させ、デバッガプロセスに制御を移す。