有没有办法为任意进程请求转储,这类似于在/data/anr/traces.txt
为ANR生成的转发?可能应该可以通过设备的外壳。
提前致谢!
答案 0 :(得分:5)
经过一些研究工作后,我发现它有可能,但不幸的是不是很有用。因此,要将流程的转储添加到 Running model failed: Not found: FetchOutputs node output: not found
,您只需将/data/anr/traces.txt
发送给您感兴趣的流程。您只需从设备shell运行下一步:
SIGQUIT
唯一的问题是并非每个用户都可以向任意进程发送信号。它不应该是root设备上的问题。对于其他人,如果您的应用程序包是可调试的,您仍然可以使用此技巧。这个事实允许使用$ kill -s SIGQUIT <pid>
实用程序并执行run-as
作为调查过程的用户:
kill
logcat输出显示转储已写入:
$ adb shell
shell@mako:/ $ run-as com.example.sysuser.stunprober
shell@mako:/data/data/com.example.sysuser.stunprober $ kill -s SIGQUIT 4712