[MPLAB]ブレークポイントで表示される黄色い”B”マークの意味

PICの開発環境であるMPLABで、ブレークポイントをセットすると、赤色の”B”マークが表示されます。


ですが、開発を行っていると時々、以下の様に黄色い”B”マークが表示される事があります。


この黄色のBの意味は、アセンブリコードに対するブレークポイントです。
厳密に言うと、C言語1行に対して複数行のアセンブリが生成されたとき、生成後アセンブリの1ステップ目以降のコードにブレークポイントが張られたとき、黄色のマークになります。


C言語レベルでのデバッグを行っている場合、黄色のブレークポイントだと、該当行に矢印がある時点でアセンブリの一部分だけが実行されている事になります。
この為、黄色のBが出た時は通常、一旦ブレークポイントを削除した上で再設定したほうが良いです。
(勿論アセンブラレベルでのデバッグを行っていて、振る舞いを理解した上で使用している場合はこのままでもかまいません)


ブレークポイントの解除の仕方は、アイコンをダブルクリックしても良いですし、F2キーを押してブレークポイント一覧からDeleteを選択するという方法もあります。







ちなみに、ブレークポイントに関しては、これ以外に赤い外枠だけ表示されるパターンもあります。


これはPICkit3などのライタをデバッガとして使用している(ICD)時によく発生します。
マイコンでのデバッグは、VisualStudioによるPC向けアプリのデバッグとは異なり、マイコンの制限によってブレークポイントを設定できる上限数がある事が多いです。


PICの場合この上限は1~4個程度の事が多いのですが、この上限を超えてブレークポイントを設定しようとした場合、前述のような赤い外枠だけが表示されます。


上限値がいくつなのかは、ツールバーのDebug表示で分かります。
HW BPは設定できるハードウェアブレークポイントの上限数で、Usedがその内何個が設定済みかです。


Debug表示が出ない場合は、ツールバーを右クリックしてDebugを選択してください。



ちなみにこの上限が有るのは実物のPICを使用してデバッグしている時だけです。
MPLAB SIMなどのシミュレータで実行する場合は、上限が無いのでこのような制約は有りません。

関連記事

コメントを残す

メールアドレスが公開されることはありません。