龍谷大学> 理工学部> 数理情報学科> Team539> 樋口三郎> 担当科目> 2007 年> iアプリ/S!アプリ/オープンアプリを作ろうプロジェクト---数理情報演習>iアプリの開発方法メモ

iアプリのデバッグメモ

[目次|携帯Javaのページ ] Time-stamp: "2007-11-22 Thu 13:58 JST hig"

手がかりになる情報

プログラムの進行についての情報

Canvas の振る舞いを見て考えるより, 変数の値や, プログラムのどこまで進んだかを 示すメッセージを見て考える方が, 問題の所在が分かりやすいです. 挙動がおかしなときには, 要所で, メッセージや変数の値を出力させるといいでしょう.

例外についての情報

実行時になんらかの例外で異常終了する場合, その例外についての情報を得ることが有益です. まず. throw-catch で囲みます. Exception e に対して, e.toString() で例外の簡単な内容が分かります. また, e.printStackTrace() では, どのメソッドからよばれたどのメソッドの中で その例外が発生したかがわかります. catch のなかで, これらを表示するようにします.
e.StackTrace().print()

情報の表示の方法

System.out.println()

CLDC DoJa でも System.out.println が使えます. エミュレータではコンソールに, 実機(携帯電話)ではトレース情報に出力されます. 挙動がおかしなときには, 要所で, メッセージや変数の値を出力させるといいでしょう.

トレース情報

ADF設定で AppTrace=Y と設定すると, 実機で実行したときに, エラー出力など, エミュレータのコンソール出力に相当するものが保存されます. そして(携帯電話の機種によるが) iアプリ>トレース情報 のようなメニューから見ることができます.

Graphics.drawString や Canvas.setSoftKeyLabel などの利用

異常終了する場合以外は, Graphics.drawString で Canvas に情報の文字列を描画したり, Canvas.setSoftLabel(), Panel.setSoftLabel() で ソフトキーラベルに情報をセットしたりするという方法も使えます.

デバッガーの使用

doja.exe と同じフォルダにあるdoja_g.exeでコンパイルすると, デバッグ情報が付加されます. 設定>>デバッグトレース設定で, 特定の種類のトレース情報(たとえばイベントのみとか)をコンソールに表示させられます(起動オプションでも指定できます). また, Eclipse などのIDEから doja_g.exe と通信することで, 通常のデバッガーのようにも使えます.

事例別にした方がわかりよい?