我想在某些事件发生时转储堆栈,所以我在init.rc中编写了一个脚本,如下所示。然后我使用setprop dump_stack 0
andsetprop dump_stack 1
来操纵它,但是我的控制台中没有输出?
on property:dump_stack=1
exec /system/bin/cat /proc/100/stack # pid = 100
我在 system\core\init\builitins.c 中添加了一些日志,它说代码有效(retstatus 为 0)。即使我将脚本更改为“exec /system/bin/cat /proc/100/stack > /data/temp”,它仍然无法正常工作。那么,init.rc(init进程)的输出在哪里呢?
PS。我将脚本写入 init.rc 的原因是“权限”。init 进程是 root,因此它可以转储其他进程的堆栈。
而且,语法是否正确?我在http://www.kandroid.org/online-pdk/guide/bring_up.html中使用Android Init 语言编写了“exec /system/bin/cat /proc/100/stack”