できるCCS⑧ [ デバッグ編 その2 ]

快適なデバッグをしてみたくありませんか? 今からご紹介する操作や設定を知っていただければデバッグもあなた自由自在!

デバッグ時に便利な機能

CCSにはデバッグを手助けする様々な機能や操作が実装されています。今回はその中で以下の機能について紹介してまいります。

●ブレークポイント
●ウォッチポイント
●メモリウインドウ
●レジスタウインドウ

ブレークポイント

プログラム実行中に動作を止めてレジスタの内容などを確認したい…そんな時はブレークポイントの出番です。

ブレークポイントはプログラムの実行を任意の場所で止めることが可能な機能です。止めている間、プログラムの状態、変数の値、レジスタやスタックの内容などを確認できます。

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

ブレークポイントは、プログラムコード左側の青枠内をダブルクリックすることで簡単に設定・削除ができます。ブレークポイントを設定するとコードにマークがつきます。ブレークポイントは複数箇所に設定できます。

ブレークポイントでの停止確認

ブレークポイントを設定後、下図に示しているボタンをクリックしてください。ブレークポイントを設定した場所で、プログラムカウンタが止まっていることが確認できます。

ブレークポイントの管理と詳細設定

「View→Breakpoints」をクリックすることで「Breakpoints」ウインドウが表示され、プロジェクト内で設定した全ブレークポイントの一覧が表示されます。有効/無効の変更など、プログラム中のブレークポイントを一括で管理できます。

ブレークポイント上で右クリックし、「Breakpoint Properties」をクリックすると、詳細な設定が可能です。

ツールバーボタンについて

「Breakpoints」ウインドウ上のツールバーボタンを以下にご紹介します。

ブレークポイントの種類

ブレークポイントはハードウェアブレークポイントとソフトウェアブレークポイントの2種類があります。それぞれの大きな違いは以下の表の通りです。

ウオッチポイント

ブレークポイントの他に、ウオッチポイントを用いてもプログラム実行を途中で止めることができます。

ウオッチポイントは、ブレークポイントの一種で、ある条件を満たした時にプログラムの実行を止めることが可能な機能です。止めている間、プログラムの状態、変数の値、スタックの内容などを確認できます。

※ウオッチポイントはデバイスによって設定機能に制限があります。

ウオッチポイントの設定方法

ブレークポイントのウインドウを開き、下図のプルダウンより「Watchpoint」をクリックしてください。
「Location」内でグローバル変数名、ローカル変数名、アドレスなどで指定可能です。(ここではP1DIRというローカル変数を指定)
入力後、「OK」をクリックしてください。

ウオッチポイントが作成されます。

ウオッチポイントの詳細設定

ブレークポイントと同様に、右クリックし、「Breakpoint Properties」をクリックすると、詳細な設定が可能です。

メモリウインドウ

プログラム実行中にメモリが正常に変化しているか気になる…そんな経験はありませんか?
メモリウインドウを用いることで、デバイスのメモリ内容を確認できます。

メモリウインドウの表示方法

メニューバーから「View → Memory Browser」をクリックしてください。「Memory Browser」ウインドウが開きます。

メモリウインドウの使い方

見たいメモリの変数名やアドレスを入力すると、メモリの内容が表示されます。また、表示スタイルの変更が可能です。

メモリの内容を保存、展開、初期化

下図のツールバーの赤枠で囲ってあるプルダウンより「Save/Load/Fill Memory」を選択いただくことで、現在のメモリ内容をファイルに保存(Save)、保存されたメモリ内容を展開(Load)、メモリ内容を任意の値で初期化(Fill)が可能です。

ツールバーボタンについて

メモリウインドウ上のツールバーボタンを以下にご紹介します。

レジスタウインドウ

デバッグをしているときに、書き換えるレジスタの値が正常に書き込まれたか気になったことはありませんか?
レジスタウインドウを開くことで、様々なレジスタの値を確認することができます。その方法をご紹介しましょう。

レジスタウインドウの表示方法

メニューバーから「View → Registers」をクリックしてください。「Registers」ウインドウが開きます。

レジスタウインドウの使い方

ツリー表示を開くとレジスタの値を確認できます。また、それぞれのレジスタの説明も表示されます。

レジスタのダンプ方法

CCSでは使用するレジスタの内容をテキストファイルとしてダンプ(出力)することが可能です。レジスタの表示上で右クリックをし、「Export」をクリックしてください。出力ファイル名の入力、出力先フォルダの指定、出力したいレジスタ名の選択後、「OK」をクリックするとレジスタのダンプができます。

ツールバーボタンについて

レジスタウインドウ上のツールバーボタンを以下にご紹介します。

まとめ

今回はデバッグに便利な機能をご紹介させていただきました。
いずれもデバッグをするときに欠かすことのできない機能ばかりです。デバッグについてはまだまだ様々な機能がありますので、次回も引き続きご紹介していきます。

できるCCSはコチラから