9

エミュレーターまたはデバイスで単純な Android アプリケーションをデバッグしようとしていますが、設定したブレークポイントでデバッガーを停止できません。こことウェブ全体の他の投稿を組み合わせて、すべての提案を試しました (debuggable:"true" をマニフェストに追加する、adb を停止して開始する、すべてを消去する、実行ボタンではなくデバッグ ボタンを使用するようにするなど)。 . デバッグ パースペクティブではスレッドを確認でき、DDMS ではデバッグしているデバイスの横にデバッグ アイコンが表示されます。ブレークポイントを設定した場所に青い点が表示され、[デバッグ] パースペクティブにそれらが一覧表示され、それらがアクティブであることが示されます。

コードが実行されていることを確認するために、ブレークポイントの直前にアラートを設定しました。

ここで狂い始めます。他の提案はありますか?単純だが明白ではない何かが欠けているに違いありません。

更新: これまでの回答に感謝します。残念ながら、彼らは私の問題を解決していません。デバッグに関する指示に従い、電話でデバッグをオンにしました。また、起動時に電話で「デバッガーを待機しています」というアラートが表示されます。一般的に、すべてがデバッグ中であると言います(追加したlogcat出力の取得を含む)。追加したブレークポイントで停止せず、デバッグ パースペクティブのブレークポイント タブに表示されます。また、繰り返しますが、これはエミュレーターだけでなくデバイスでもデバッグするときに発生します。気がついたことの 1 つは、デバッガーを起動すると、Android Device Chooser が表示されるように設定されていることです。私のデバイスの「デバッグ」列は空白ですが、エミュレーターが実行されている場合、デバッグ列には「はい」と表示されます。また、コンソールには、デバッガーに接続しようとしていると表示されます。デバッガーが正常に接続されたことを示すコンソール ログが必要ですか? これはわかりません。

更新 20120914: 私はしばらくの間これを離れていて、以前はあきらめていました。戻ってこれに取り組みます。それはまだ解決されていません。上記はすべて最新のものですが、もう 1 つ気になった点があります。メイン アクティビティにクラス ロード ブレークポイントを設定すると、そこで停止します。行ブレークポイントで停止しません。最新の JDK 1.7.0_07、Android SDK 20、ADT Plugin 20.0.3 に更新しました。logcat を使用してメッセージを出力し、この行にブレークポイントを設定しました。logcat にメッセージが表示されるので、コードが実行されていることがわかります。debig パースペクティブのデバッグ ウィンドウには、その下に多数のスレッドがある Android アプリケーションも表示されます。また、DDMS パースペクティブの [デバイス] ウィンドウには、横に緑色のバグ アイコンが付いたアプリケーションが表示されます。

もう1つ-デバッガーが行ブレークポイントのブレットを実行しているとき、それらにチェックマークがオーバーレイされません(クラスロードブレークポイントはそうです!)。これが根本的な原因だと推測していますが、なぜ彼らがこれを取得していないのかわかりません. (ちなみに、スキップ ブレークポイントも設定されていません。ブレークポイントには線がありません)。

新しい提案をいただければ幸いです。私はこれに多くの時間を費やしました。それは私が見ていない明らかなものに違いありません。

4

6 に答える 6

5

今、この記事を書いている私は少しばかげていると感じています。しかし、私は最終的に私の問題を解決しました。問題は、Javascript コードにブレークポイントを設定できないことです。意図せず省略した部分は、PhoneGap を使用して Android 用のアプリを作成していることです。ほとんどすべてのコードは Javascript です。私は Visual Studio で .NET Web アプリを開発することに慣れているので、JavaScript コードにブレークポイントを設定できると思っていました。Java コードのブレークポイントはたまたま正常に機能します。とにかく、提案をありがとう。PhoneGap の開発を試みている .NET 開発者が他にいるかどうかはわかりませんが、この記事が役立つかもしれません。

于 2012-09-14T23:59:54.147 に答える
3

Android SDK には、アプリケーションのデバッグに必要なほとんどのツールが用意されています。このリンクでは、 Android のデバッグ環境と使用されるデバッグ ツールを紹介します。

Android アプリケーションのデバッグに関するハンズオン チュートリアルもあります

実際の Android フォンを使用してデバッグする場合は、デバイスで「 USB デバッグ」をオンにします。

設定 > アプリケーション > 開発 および USB デバッグを有効にする

Android 4.0:

設定 > 開発者向けオプション

そしてLog.d、あなたのLogcat.

于 2012-06-01T00:50:40.533 に答える
1

Eclipseにはデバッグ実行構成があります。デバッグ実行構成を使用する場合にのみ、起動時にデバッガーがアプリケーションに接続されます。

アプリケーションの起動(デバイス/エミュレーター上で)は、「デバッガーを待機中」の間一時停止しますか?そうでない場合は、「デバッグ構成」を使用してアプリケーションを起動していません。実行(ドロップダウン)構成のすぐ左にあるボタン。

于 2012-06-01T02:23:23.083 に答える
1

jsHybugger: http://www.jshybugger.org/を試して、リモート (モバイル) デバイス用の Eclipse で JavaScript ブレークポイントを設定します。

これにより、ブレークポイントの設定、シングルステップ、例外のキャッチ、および JS/DOM 環境との対話が可能になります。これは、Eclipse から、またはリモート デスクトップ上の Chrome または Chrome 互換のデバッガーから使用できます。独自の webView を作成するアプリで使用できます。

ただし、いくつかのファイルをインストールする必要がありますが、使用するのはおそらく weinre ほど複雑ではありません。このすべてのデバッグを有効にするために、JS ファイルを (オンザフライで、ユーザーに透過的に) 大幅に変更します。

于 2013-05-26T13:39:25.277 に答える
0

Ribo はすでに彼の回答で言及していますが、この質問と回答は Phonegap アプリケーションのデバッグに関するものであるためです。あなたは確かにweinre(WEB INspector REmote)を見る必要があります。 http://people.apache.org/~pmuellr/weinre/docs/latest/

現在、phonegap には、phonegap ビルドに組み込まれている独自の weinre さえあります... http://debug.phonegap.com/

私はこれの大ファンです...(ローカルマシンでweinreを使用していて、wifi経由でphonegapアプリをデバッグしようとしている場合は注意してください...ローカルデバイスが同じwifiネットワーク上にあることを確認してください!)

于 2014-02-10T10:21:09.203 に答える