2012-08-24 24 views
2

我想在某些事件发生时转储堆栈,所以我写了一个脚本到init.rc如下。然后我使用setprop dump_stack 0setprop dump_stack 1来装配它,但是在我的控制台中没有输出?如何在Android平台上检查init.rc(init进程)的输出?

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的原因是“Permission”。 init进程是root的,所以它可以转储其他进程的堆栈。

而且,语法是否正确?我通过Android Init Language编写“exec/system/bin/cat/proc/100/stack”http://www.kandroid.org/online-pdk/guide/bring_up.html

回答

3

Init正在写入内核缓冲区。你可以用dmesg看到它的输出。确保在你的init.rc文件中增加日志级别。

+0

thx为您的帮助 – carl

相关问题