テザリングされたデバイスにデバッガーを接続することに成功した人はいますか? エミュレーターで j2me アプリケーションをデバッグできますが、電話固有の問題が発生したときにそれを整理するのに多くの問題があります。私が使用している電話は Nokia N95 ですが、デバッグ プロセスはどの電話でも機能するのが理想的です。
これは可能ですか?もしそうなら、誰かがそれを設定するために使用した手順を持っていますか?
Sony Ericsson は、少なくとも K700 以降は ebery phone でのデバッグをサポートしています。これは、KDWP を使用して行われます。UIQ 3 コミュニケーターも同じ方法でデバッグできます。
ちなみに、SE による最新の携帯電話では、メモリ消費と CPU プロファイリングを監視することもできます。したがって、実際の電話でアプリをデバッグする場合は、SE 電話も使用することをお勧めします。SE 電話は非常に得意です。私は Netbeans を使用していますが、どの SE 電話でも問題なく動作します。
Motorola電話は、KDWP(Motodev登録が必要)と呼ばれるデバッグインターフェイスをサポートしています。MIDwayツールは、デバイスで実行されているミッドレットからデバッグトレース情報を取得する場合にも役立ちます。
他の人が述べたように、オン デバイス デバッグはメーカーの意向に厳密に依存するものであり、多くの場合、ほとんど不可能です。ただし、オンデバイス デバッグ コンソールを使用してメッセージを出力し、電話固有の問題を読み取る機会を提供するGear Java Mobile Frameworkについて説明することはできます。使い方の説明が必要な場合は、このチュートリアルをご覧ください
残念ながら、これは一般的には不可能です。一部のメーカー(Sony-Erricsonなど)は、一部の電話でこれをサポートしていますが、すべてではありません。N95用のデバイス上デバッグツールがあるかどうかはわかりませんが、デバイスにかなり近いはずのNokiaのエミュレーターを使用できます。新しいJavaMESDKには、近い将来、実際のODDが約束されています。しかし、それでもOEMの協力に大きく依存しています。
良いデバッグ方法は、null でない場合に他のすべての上に描画される文字列値を制御することです。これはどこでも機能しますが、明らかに理想的ではありませんが、例外をキャッチしたり、値を出力したりするために使用できます。もちろん、小さな画面に限定されますが、理論的にはスクロール機能をコーディングすることもできます。
RMS ロギングを使用している人もいますが、個人的には気にすることはありませんでした。
他の人がここで言ったように、Motorola には Midway があり、これは素晴らしいと思います。
オンデバイス デバッグは非常にデバイス固有であるという点で、他の人はここで正しいです。Series 60 では何もしていませんが、少なくとも Series 40 の電話では、何が起こっているかを確認するために CommConnection を開いて書き出す必要がありました。デバイス エミュレーターもさまざまですが、通常はアプリケーションの 90% をデバイス エミュレーターで動作させることができ、デバッガーをそれらに接続することができます。電話のハードウェアをまったく使用していない場合は、ほとんどの場合、それで十分です。
Android や他の SDK のように段階的にデバッグすることはできません。
J2ME では、コードにログ ステートメントを追加してエラーを追跡し、別の midlet を追加して、その midlet にそのログ画面を表示できます。
例: 追加Log.p("Log statement.....");
LogMidlet.java
// Add the following line in the startup method of this midlet.
Log.getInstance().showLog();
このようにして、j2me でエラーを追跡できます。
前処理ステップで追加のデバッグ情報を追加することは可能だと思います。このような:
public void myMethod() { Debug.traceMethod("myMethod"); int var = 1; Debug.newLine(); var++; Debug.newLine(); ... }