基本的なデバッグ作業 |
デバッグというのは作成したソフトウェアが期待通りの動作をするかどうかを確認することです。 バグ(Bug)とは虫の意味で、害虫のことを指しています。害虫を取り除く作業がデバッグです。 デバッグを行うのにはいくつかの方法があります。ここでは1ステップずつ実行する方法とブレークポイント(処理を一時停止するポイント)による方法を説明します。 説明に使用するプログラムは先の例で示したものを使います。 ステップによるデバッグ ステップデバッグは規模が小さなソフトウェアの動作確認、または、特定の処理部分の動作を確認するのに便利な方法です。 アイコンボタンで がステップ実行ボタン"です。もし、ステップボタンがツールバーに表示されていない場合には一番左側の Swap Toolbar ボタン を押して表示させます。 ステップデバッグは Debug → Run → Step でも実行できます。 準備
Window → Absolute Listing : アッセンブルリスト表示
デバッグの実施 (1) リセット操作
PICの状態を電源投入直後の状態にします。 リセットは Debug → Run → Reset でも実行できます。 アッセンブルリストのプログラム番地が0の部分に黒いバー(以後PCバーと称します)が表示されます。このバーはプログラムカウンター(PC)の位置を示しています。
PCバーが一つ進んで1番地に移動します。 ファイルレジスタは以下のように変わります。
(3) 1ステップ実行
PCバーがさらに一つ進んで2番地に移動します。 ファイルレジスタは以下のように変わります。
(4) 1ステップ実行
PCバーが1番地に移動します。 ファイルレジスタは以下のように変わります。
(5) 1ステップ実行
PCバーが2番地に移動します。 ファイルレジスタは以下のように変わります。
以降、ステップボタンを押す毎にPCバーは1番地と2番地の交互に変わります。 1番地を実行する都度、ファイルレジスタの 0Ch がカウントアップされます。 以上のように1ステップ毎の動作を確認することができます。 ブレークポイントによるデバッグ この方法はブレークポイントで停止したときの各種データを確認することにより、ソフトウェアの動作を確認する方法です。 ブレークポイントまでの処理を一挙に行うことができるので、デバッグを効率よく行うことができます。 ブレークポイントが設定された命令を実行する前に処理は一時停止します。 ブレークポイントの設定方法
アッセンブルリストで処理を停止させたいステップをクリックしてカーソルを移動します。一行中のどの場所でもかまいません。
(設定方法2) 他の設定方法としてラベルを使用する方法があります。 を押すとブレークポイント設定画面が表示されます。 この操作は Debug → Break Settings... でも行えます。 設定画面の Start 項目をプルダウンすると処理に付けたラベルが表示されるので、その中から、ブレークポイントを設定するラベルを選択します。次に Add ボタンを押すと、ブレークポイントが登録されます。チェックマークが付いていればブレークポイントは有効です。 準備
Window → Absolute Listing : アッセンブルリスト表示 Window → File Registers : ファイルレジスタ表示 デバッグの実施 (1) リセット操作
PCバーは0番地のところにあります。 ファイルレジスタの内容は以下のようになります。
(2) ブレークポイントの設定
先の設定方法1で設定します。設定されるとその行が赤色に変わります。 (3) 処理実行
PCバーが2番地に変わります。 ファイルレジスタは以下のように変わります。
(4) 処理実行
PCバーは2番地のままです。 ファイルレジスタは以下のように変わります。
(5) デバッグ終了
終了の操作は Debug → Run → Halt でも行うことができます。 ブレークポイントで停止している状態ではデバッグ動作は継続しています。デバッグを終了する場合にはストップボタンで停止させる必要があります。 |