2012-04-12 7 views
0

ログされたメッセージを確認するためのLogCatビューがあると理解していますが、わかりません。Androidでどのように正常にデバッグしますか?

デバッグ(私は主にJavaを使用します)では、コードの各行を踏んで、プログラムがクラッシュした箇所を突き止めて何かをすることに慣れてきました。

Androidの開発でどうすればいいですか?アプリケーションをクラッシュさせる原因となっている行を正確に見つける方法はありますか?

私はLogCatメッセージを読む方法を理解できませんし、ステップオーバーしようとすると(EclipseのF9キーまたは 'Debug'オプションを使用して)、inbuiltクラスファイル用の新しいタブを開いていますInstrumentation.classなどのように)、F6を何度か押した後、アプリケーションが突然クラッシュし、 'アプリケーションが予期せず停止しました。もう一度やり直してください '

私がここでやっていない方法で何かができるかどうか誰かに教えてもらえますか? ありがとう! http://pastebin.com/EaqaWUdS

答えて

2

あなたがラインに存在しないリソースIDを使用している:com.site.custom.ModAdapter.getViewの93(CustomListProjectActivity.java

ところで、それは場合に役立ちます、ここで生成されたログです

--edit:あなたはJavaでやったのと同じ方法で、logcatのスタックトレースを読み込みます説明

を追加します。ボトムアップ読み、コードが入り込む前に、犯人は(あなたのクラスの最後の行でありますandroid sdk code)。

あなたはその逆のやり方で、上から始めて、あなたの最初のクラスで停止し、アンドロイドクラスを破棄することができます。

デバッグ時に同じ理由が適用されます。必要に応じてメソッドにステップインし、デバッグしない限り、SDKのすべてのメソッドをステップ実行します(通常、SDK内のバグが疑われる場合はチェックあなたが興味を持っているアンドロイドのsdkクラスの内部機構を見るgrepcodeのソース)。

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

0

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

基本的に自分のクラスにとどまっている間、アンドロイドをデバッグします。ほとんどの問題はもちろん私自身のクラスに位置しているので、私はアンドロイドクラスをほとんど見ていません。

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

関連する問題