3

Android用のアプリケーションを開発する方法を学び始めたところです。現在、IDEとしてEclipse 4.2(Juno)を使用しています。問題は、自分のコードで発生している例外を表示する通常の方法がわからないことです。例えば:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    List<BasicObject> objects = _objectRepository.GetAllObjects();
    Iterator<BasicObject> iterator = objects.iterator();

    while(iterator.hasNext())
    {
        ObjectListItemView itemView= new ObjectListItemView(this,iterator.next());
    }
}

が実行されているときonCreate、_objectRepositoryはnullであるため、NullReferenceがスローされます。その後、Eclipseは「ソースが見つかりません」と表示しますが、これは実際には私が期待していることではありません。F8次に、(続行)を複数回押します。プロセスが終了し、デバッガーが停止します。そしてその後になって初めて、LogCatにスタックトレースが表示されます(そこから自分のコードに移動するのは非常に困難です)。

ご覧のとおり、例外をキャッチするこのプロセスはすべて、本当に時間がかかります。例外を表示する他の方法はありますか?私は何を間違っていますか?

私はAndroidエミュレーターを使用していません。実際のデバイス(HTC Desire S)を使用しています。私はすでにLogCatを持っていますが、もっと便利で実用的なものが欲しいです。

説明のために、Visual Studioでは、デバッグ中に例外が表示されます。Visual Studioは、例外が発生した行にブレークを設定し、必要な情報(スタックトレースローカル変数、実際にはすべてのもの)を例外ウィンドウで表示できます({あまり使用されていない}デバッグ->例外…ウィンドウの手法を参照) 。 。

Eclipseでは、デバッガーが停止した後にのみ、LogCat(使用するのは非常に不快です)で例外の詳細を取得しました。

4

2 に答える 2

1

次のようにAndroid用のLogCatを有効にできます。

Eclipseで、 「ウィンドウ」 -> 「ビューの表示」 -> 「その他」 -> 「 Android 」 -> 「Logcat」に移動します。

Logcatは、エミュレーターまたはデバイスのコンソールに他なりません。

Eclipse forAndroidでlogcat/Consoleを有効にする方法は?

于 2012-08-11T11:11:16.943 に答える
-1

OSは、logcatへのメッセージを取得するためにいくつかのことを行う必要があります。これらは(キャッチされていない)例外によってトリガーされます。デバッガーでそれらをステップスルーしようとすると、面倒で、「ソースが見つかりません」というメッセージが頻繁に表示されます(これはシステムコードであり、自分のものではありません)。

苛立たしいですが、例外の後に何が起こってもアプリ内で起こらないのは間違いないので、とにかくその時点で停止したほうがよいでしょう。例外のlogcatレポートをすばやく表示する必要がある場合は、デバッガーなしでアプリを実行するだけです。

于 2012-08-11T11:13:50.900 に答える