0
任意のプロセスのダンプを要求する方法はありますか?それは/data/anr/traces.txt
のANRに対して生成されたものと似ていますか?おそらく、デバイスのシェルを介して可能でなければなりません。Android。 ANRダンプを強制する
ありがとうございます!
任意のプロセスのダンプを要求する方法はありますか?それは/data/anr/traces.txt
のANRに対して生成されたものと似ていますか?おそらく、デバイスのシェルを介して可能でなければなりません。Android。 ANRダンプを強制する
ありがとうございます!
私はそれが可能であることを理解したが、残念なことにあまり役に立たない。だから、あなたは、単にデバイスシェルから次を実行することができますあなたはちょうどあなたが興味を持っている処理するSIGQUIT
を送るべき/data/anr/traces.txt
にあなたのプロセスのダンプを追加します。
$ kill -s SIGQUIT <pid>
そして唯一の問題はないすべてのユーザーが信号を送ることができるということです任意のプロセスにそれは根ざしたデバイスの問題ではありません。残りのものについては、あなたのアプリのパッケージがデバッグ可能な場合でもこのトリックを使用することができます。この事実はrun-as
ユーティリティを使用し、調査プロセスのユーザーとしてkill
を実行することができます:
$ adb shell
[email protected]:/ $ run-as com.example.sysuser.stunprober
[email protected]:/data/data/com.example.sysuser.stunprober $ kill -s SIGQUIT 4712
そしてlogcat出力は、ダンプが書き込まれたことを示しています
I/art(4712): Thread[5,tid=4721,WaitingInMainSignalCatcherLoop,Thread*=0xb74c4d28,peer=0x12c000a0,"Signal Catcher"]: reacting to signal 3
I/art(4712): Wrote stack traces to '/data/anr/traces.txt'