問題タブ [android-debug]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Androidフォンが突然停止しました
私はAndroidアプリを開発していて、自分の携帯電話でこのアプリを試していました.私の携帯電話にはいくつかの問題があるため、うまくいきません...開発に使用しているだけですが、アプリを試していてアプリが起動しました突然画面がフリーズして電話がシャットダウンし、再び電源を入れることができないので、アプリに悪いコードが含まれているか、または...エミュレーターでアプリを実行し、正確に機能したため、アプリでそれができるかどうかを知る必要がありますエラーなしで必要だったので...そして今、私のPCはもうUSBを認識していません...だから、誰かが以前にこの問題を抱えていましたか? ありがとうございました。
ここにlogcatがあります:
android-ndk - valgrind android に行番号が表示されない
Android シェルの場合:
================================================== ======================
valgrind.log -- ヒープの概要:
==21314== ヒープ概要:
==21314== 出口で使用中: 6 ブロックで 2,098,270 バイト
==21314== 合計ヒープ使用量: 6 割り当て、0 解放、2,098,270 バイト割り当て
==21314==
==21314== 1 ブロック中の 4 バイトは、6 件中 1 件の損失レコードで確実に失われています
==21314== 0x482BAEC: malloc (vg_replace_malloc.c:291)
==21314== by 0x864B: ??? (/data/local/Test 内)
==21314==
==21314== 1 ブロックの 10 バイトは、6 の損失レコード 2 で確実に失われます
==21314== 0x482BAEC: malloc (vg_replace_malloc.c:291)
==21314== by 0x863B: ??? (/data/local/Test 内)
==21314==
==21314== 1 ブロック中の 80 バイトは、6 件中 3 件の損失レコードで確実に失われています
==21314== 0x482C2E4: 演算子 new[](unsigned int) (vg_replace_malloc.c:378)
==21314== by 0x85DF: ??? (/data/local/Test 内)
==21314==
==21314== 1 ブロックの 1,024 バイトは、6 個中 4 個の損失レコードでまだ到達可能です
==21314== 0x482BAEC: malloc (vg_replace_malloc.c:291)
==21314== by 0x4852DB3: __smakebuf (/system/lib/libc.so 内)
==21314==
==21314== 1 ブロックの 1,048,576 バイトが 6 の損失レコード 5 で失われる可能性があります
==21314== 0x482BAEC: malloc (vg_replace_malloc.c:291)
==21314== by 0x86C3: ??? (/data/local/Test 内)
==21314==
==21314== 1 ブロックの 1,048,576 バイトは、6 の損失レコード 6 で確実に失われます
==21314== 0x482BAEC: malloc (vg_replace_malloc.c:291)
==21314== by 0x869F: ??? (/data/local/Test 内)
==21314==
==21314== リークの概要:
==21314== 確実に失われました: 4 ブロックで 1,048,670 バイト
==21314== 間接的に失われました: 0 ブロックで 0 バイト
==21314== 失われた可能性: 1 ブロックで 1,048,576 バイト
==21314== まだ到達可能: 1 ブロックで 1,024 バイト
==21314== 抑制: 0 ブロックに 0 バイト
==21314==
==21314== 検出され抑制されたエラーの数については、-v で再実行してください。
==21314== エラーの概要: 18 のコンテキストから 137 のエラー (抑制: 0 から 0)
Android.mk:
Linux ではndk-build NDK_DEBUG=1
、このテストをデバッグできるように実行していますが、valgrind ログに行番号が表示されないのはなぜですか?
android - Android で同時 AsyncTasks の問題をデバッグするにはどうすればよいですか?
一度にいくつかの AsyncTasks を実行していますが、ボタンが使用できなくなるなどの特有の問題が発生しているようです。1 つの AsyncTask がセッションを存続させ、すべてのアクティビティで onResume() で実行されます。
次に、単純にサーバーから JSON オブジェクトをフェッチし、結果をリストビューにロードするために使用される別の AsyncTask があります。
SessionKeepAliveTask タスクを実行しない場合、検索サービスは意図したとおりに機能しますが、実行すると、予期しないバグが発生します。私は確かな答えよりも、この問題のデバッグを開始する方法を知りたいと思っていますが、明らかに、その前に誰かがこれに遭遇した場合は素晴らしいでしょう. DDMS モニターで現在のスレッドを確認できますが、その使用方法が正確にはわかりません。
android - APK でサポートされている adb コマンドを確認するにはどうすればよいですか?
私は、仕事の一部に APK ファイルとのやり取りが含まれる会社で働いています。内部チームによって開発された APK ファイルを見つけましたが、ドキュメントがあまりありません。
APK で使用できるさまざまなコマンド (API リファレンス) を知る方法はありますか? それとも、常に特定の APK のプロバイダーの唯一の情報源からのドキュメントですか?
または、adbコマンドを使用してコマンドプロンプトでエラーを実行するのではなく、エラーについてもっと知る方法がありますか?
素朴な質問で申し訳ありませんが、私はAndroid開発にはかなり慣れていません。
java - USB ビジー時に LogCat をキャプチャ (SD カードへ)
私はすでにここでこれに対する明確な答えを見つけることに成功していないので、答えが明らかであれば許してください。USB を OTG として使用して外部デバイスと通信するアプリを開発しています。問題は、クラッシュが発生したときです。USBデバッグを介してデバッグできず、もちろんエミュレーターを使用していません。JellyBean 以降、サードパーティのアプリを使用して LogCat を読み取ることはできません。この場合、テストするのは JB デバイスだけです。
この場合、すべてのログをすばやく効果的に取得する方法はありますか?
私はこれを試しましたonCreate
:
そして、実際には何も書きません(いくつかのパスを試しました)..
よろしくお願いします、マーク。
android - Android:ネイティブヒープダンプを分析するには?
コマンドを使用して、ネイティブ ヒープ ダンプ ファイルを作成しましたdumpheap -n <PID> <file>
。ファイルは人間が読める形式ですが、理解するのが難しすぎる情報が含まれています。このファイルを分析して有益な情報を得るにはどうすればよいですか?
関数アドレスは、関数名の代わりに提供されます。マッピングはファイルの下部に記載されています。これらをマップし、アドレスの代わりに関数/ライブラリ名を使用して意味のある出力を提供するツールはありますか (ライブラリ/関数のシンボルをロードします)。存在しない場合、ddms はどのようにこれを行うのでしょうか? また、シンボルをロードして関数名を表示する方法は?
2 つ以上のネイティブ ヒープ ダンプを比較する方法はありますか?
取得したダンプ ヒープ ファイルは次のようになります
Android ネイティブ ヒープ ダンプ v1.0
合計メモリ: 13863984 割り当てレコード: 3108
Z 1 SZ 8388608 NUM 1 BT 40AFCD1A 40AFBC0E 40119D30 40795210 407A9BAE 407941A0 4076C264 40770B6C 407A47F4 407A481E 40786D44 407A6DA6 407A4800E 407584444444444444444444444444444458C4444458C4
z 1 sz 1516906 num 1 bt 40afcd1a 40afbc0e 40119d30 400658fe 402563d8 5a400b10 5d6c3ed2 5d6c3efc 5d6c3f34 5d69d556 5d6a9de0 40794664 407aafa0 4076c264 40770b6c 407a47f4 407a481e 407af4a8 407aff8c 407678b0 40770b6c 407a4aba 407ac010 4076c264 40770b6c 407a47f4 4078e676 401dd98e 401de472 4005ddd2 40119ed4
z 1 sz 262144 num 1 bt 40afcd1a 40afbc0e 40119d30 400658fe 40a14416 40a144e0 40a154a4 40a1570e 40a1d8cc 40a20d42 40a1a9e4 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 401f0c90 40762e34 40792086 4076c264 40770b6c 407a4aba 407ac010 4076c264 40770b6c 407a47f4 4078e676 401dd98e 401de472 4005ddd2
z 1 sz 262144 num 1 bt 40afcd1a 40afbc0e 40119d30 400658fe 40a14416 40a144e0 40a154a4 40a1570e 40a1d8cc 40a20d42 40a1a9e4 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 401f0c90 40762e34 40792086 4076c264 40770b6c 407a4aba 407ac010 4076c264 40770b6c 407a47f4 4078e676 401dd98e
z 1 sz 65536 num 1 bt 40afcd1a 40afbc0e 40119d30 400658fe 40a14400 40a15714 40a1d8cc 40a20d42 40a1a9e4 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 401f0c90 40762e34 40792086 4076c264 40770b6c 407a4aba 407ac010 4076c264 40770b6c 407a47f4 4078e676 401dd98e 401de472 4005ddd2 40119ed4
z 1 sz 65536 num 1 bt 40afcd1a 40afbc0e 40119d30 400658fe 40a14400 40a15714 40a1d8cc 40a20d42 40a1a9e4 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 40a1aa26 401f0c90 40762e34 40792086 4076c264 40770b6c 407a4aba 407ac010 4076c264 40770b6c 407a47f4 4078e676 401dd98e 401de472 4005ddd2
これらの数字は何を示していますか?
android - addr2line が特定のアドレスを関数名に解決できないのはなぜですか?
コマンドの実行から取得したバックトレースがありdumpheap -n <PID> <file>
ます。これらのバックトレースを意味のあるものにするために、これらのアドレスを関数名と行番号に変換する必要があります。addr2line を使用して、これらのアドレスを関数名に変換しました。これは私が使用したコマンドaddr2line -C -f -e <libname>.so <address>
です。addr2line が関数名の代わりに $t を与える特定の場所がありますが、ファイル名:行番号は正しく与えます。この「$t」を関数名に解決するにはどうすればよいですか。