0

ログに記録されたメッセージをチェックするためのLogCatビューがあることは理解していますが、理解できません。

デバッグするとき(私は主にJavaを使用します)、コードの各行をステップオーバーして、プログラムがクラッシュする正確なポイントを見つけて、それに対して何かをすることに慣れています。

Android開発でこれを行うにはどうすればよいですか?アプリケーションのクラッシュを引き起こしている行を正確に特定する方法はありますか?

LogCatメッセージの作成方法/読み方がわかりません。ステップオーバーしようとすると(EclipseのF9キーまたは[デバッグ]オプションを使用)、組み込みのクラスファイル(Instrumentation.classなど)の新しいタブが開き続けます。など)そしてF6を数回押した後、アプリがクラッシュし、'アプリケーションが予期せず停止しました。もう一度やり直してください」

私がここでやっていない方法でやるべきことがあるかどうか誰かに教えてもらえますか?ありがとう!

ところで、それが役立つ場合は、生成されたログは次のとおりです:http: //pastebin.com/EaqaWUdS

4

2 に答える 2

2

com.site.custom.ModAdapter.getView(CustomListProjectActivity.javaの行:93に存在しないリソースIDを使用しています

-編集:説明を追加

Javaで行ったのと同じ方法でlogcatスタックトレースを読み取ります。ボトムアップで読み取り、原因はクラスの最後の行です(コードがandroid sdkコードに入る前)。

あなたはそれを逆に行うことができ、上から始めて、あなたの最初のクラスで停止し、Androidクラスを破棄することができます。

デバッグ時にも同じ理由が当てはまります。必要に応じてメソッドにステップインし、デバッグする場合を除いてSDKのすべてのメソッドにステップオーバーします(通常、SDK内のバグが本当に疑われる場合は、grepcodeでソースを確認してください。興味のあるandroidsdkクラスの内部メカニズムを確認してください)。

Androidのバグを追跡するのが難しい場合があります。特に、ウィジェットレイアウトに関連するバグの場合、Androidプラットフォームで実行されるコードのみが表示され、コードは実行されず、データのみがxmlファイルから読み取られるためです。ここで何かが壊れた場合、デバッグが難しくなる可能性があります。その場合は、二分法を適用します。バグが表示されない場合は、半直線を削除してから、行を読み取り、半分を削除します。

于 2012-04-12T12:53:07.920 に答える
0

javaと同じです。基本的に、クラスファイルではなくJavaファイルを開くためのソースが必要です。Googleは、ソースを追加する方法を示しています。

基本的に、あなたはあなた自身のクラスにとどまりながらアンドロイドをデバッグします。もちろん、ほとんどの問題は自分のクラスにあるため、Androidクラスについてはほとんど調べていません。

したがって、すでに行っているようにデバッグしますが、SDKにソースを追加しない限り、所有していないメソッド/クラスにステップインしないでください。持っていても、オープンソースではないクラスがあるかもしれないので、そこのソースに足を踏み入れることはできません。(基本的にすべてのGoogle APIクラス)

于 2012-04-12T12:54:39.400 に答える