2011-01-22 6 views
27

EclipseでADT(Android Development Tools)を実行していて、MainMenu.oncreate (class Activity)にブレークポイントを設定してデバッガが動作していることを確認しました。しかし、それを私のAsyncTask.doInBackgroundの最初の行に置いたとき、決してそれに当たらない。 AsyncTaskにLogステートメントを入れてLogCatに表示するので、実行中です。私はロギングよりもデバッガを好むので、どんな助けにも感謝します。Android用に開発するときにAsyncTaskでEclipseデバッガを使用するにはどうすればよいですか?

マイバージョン:

Eclipse SDK Version: 3.6.1 
Build id: M20100909-0800 

alt text

+0

マニフェストにdebugging = Trueがありますか? – Falmarri

+0

はい、AndroidManifest.xmlにを実行しました。ありがとう –

+0

私はちょうど 'Log.d()'を 'doInBackground()'の中に置くと、デバッガが突然ブレークポイントを打ち始めたことを発見しました!! –

答えて

69

doInBackgroundの先頭に次のコードを入れてください:

android.os.Debug.waitForDebugger();

次にあなたがそのスレッドにブレークポイントを設定すると、日食それを見つけるでしょう。 sargasの答えに加えて

+0

ありがとう、これはトリックでした。 –

+1

注記として、**デバッグしていない**を実行するには、この行をコメントアウトする必要がありました。 – Suragch

+0

これは明らかにこれを行う方法であることがわかりますが、これをdoInBackgroundの先頭に置いてもブレークポイントをヒットすることはできません。なぜ誰かがこれがどういう考えを持っていますか? –

9

、あなたはその行をコメントすることを忘れてしまった場合はランモードで使用すると、エラーが出る可能性があるためには、次のように使用できます。

if(android.os.Debug.isDebuggerConnected()) 
    android.os.Debug.waitForDebugger(); 

それは自分自身の世話をするようにします。

関連する問題