紫だちたる雲の細くたなびきたる blog

春はあけぼの(をかし)

最後の最後で障害発生!

今日で2005年度も終わりです。今日で福岡での仕事先との契約も終わりです。
まだ引継ぎ資料ができあがってないから、やらなきゃ・・・・と思っていたのですが・・・・
「kuzuさん、ちょっといいですか?なんかiアプリを起動すると3回ワーニングが出てそのあと正常に動くという現象が起きてるんですけど・・・」
まじ!?最後の最後に障害!?しかもその障害はSH900iでしか起きないという。なんじゃそりゃ!
調べていくうちに、F901iCでも同じ現象が起きることが判明。F901iCなら手元にあるので、なんとか調べられそう。ADFのAppTrace = onを追加して、さらにエラーメッセージを出していると思われる箇所にSystem.out.println("er:" + e.toString());を追加しまくって徐々にエラーが発生している箇所とエラーの種類を特定してみる。
ぬぉっ!NullPointerException!!
ってことは機種依存のバグじゃなくて、おいらのプログラムのバグじゃん!
アルゴリズムで結構重たい処理入れてたから(何度も再帰呼び出し。ヒープを喰うったらありゃしない)、SH900iのメモリが足らなくなってたのかと最初はビクビクしていたが、そうではなかった。よかったよぉ〜。
本当はオブジェクトの値がnullのまま処理が動いてしまうのがいけないので、オブジェクトの初期化をなんとかするべきなのだが、時間もなく、そこ以外にnullによる影響がないのもわかっていたので、nullの場合には処理を抜けるように修正。軽く動作確認。動いた!!
やれやれ。SH900iF901iCはメソッドによってTextBoxの値が書き換えられた場合でもテキストボックスが書き換えられましたイベントが発生してしまうが、N900iなどでは発生しないため、正常に動いているように見えるのであった。