【发布时间】:2012-08-19 15:09:08
【问题描述】:
我想在某些事件发生时转储堆栈,所以我在 init.rc 中编写了一个脚本,如下所示。然后我用setprop dump_stack 0 和setprop 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,所以可以dump其他进程的栈。
而且,语法是否正确?我用 Android Init Language 在http://www.kandroid.org/online-pdk/guide/bring_up.html
中编写了“exec /system/bin/cat /proc/100/stack”【问题讨论】:
标签: android linux linux-kernel system