普通のデバッガにあるような実行時に止めるブレークポイントは上のように出来ます。
Dr7 の上位16bitを弄ると少し特殊な
- 特定のアドレスに書き込んだとき
- 特定のアドレスに読み書きしたとき
のブレークポイントを仕掛けることができます。
4bits 4bits 4bits 4bits +-----+-----+-----+-----+-- Dr7 | Dr3 | Dr2 | Dr1 | Dr0 | +-----+-----+-----+-----+-- <-- ブレークのタイプ -->
上位16bitを下から4bitずつ Dr0〜Dr3 に対応していて、
<- Dr0 ->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
このように色々選べます。
うーん、高機能。
上手く使うと以下のようなことが出来ます。
- この変数、いつの間に NULL になってるんだろう…?
- この変数が 0 になったら止まって!