[英]Android. Force ANR dump
有什么方法可以請求對任意進程進行轉儲,這類似於在/data/anr/traces.txt
為ANR生成的/data/anr/traces.txt
嗎? 可能應該可以通過設備的外殼實現。
提前致謝!
經過一些研究,我發現有可能,但不幸的是,它不是很有用。 因此,要將您的進程轉儲添加到/data/anr/traces.txt
您應該只發送SIGQUIT
到您感興趣的進程。您可以直接從設備外殼運行下一步:
$ kill -s SIGQUIT <pid>
唯一的問題是,並非每個用戶都可以將信號發送到任意進程。 在植根設備上應該不成問題。 對於其余的那些,如果您的應用程序包是可調試的,您仍然可以使用此技巧。 這個事實允許使用run-as
實用程序並以被調查進程的用戶run-as
執行kill
:
$ adb shell
shell@mako:/ $ run-as com.example.sysuser.stunprober
shell@mako:/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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.