小编car*_*arl的帖子

Android平台如何查看init.rc(init进程)的输出?

我想在发生某些事件时转储堆栈,因此我将脚本编写到init.rc 中,如下所示。然后我使用setprop dump_stack 0setprop dump_stack 1来操纵它,但我的控制台中没有输出?

on property:dump_stack=1
       exec /system/bin/cat /proc/100/stack    # pid = 100
Run Code Online (Sandbox Code Playgroud)

我在 system\core\init\builitins.c 中添加了一些日志,它说代码有效(retstatus 为 0)。即使我将脚本更改为“exec /system/bin/cat /proc/100/stack > /data/temp”,它仍然不起作用。那么,init.rc(init进程)的输出在哪里呢?

附注。我将脚本写入 init.rc 的原因是“权限”。init 进程是 root,所以它可以转储其他进程的堆栈。

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

linux android system linux-kernel

4
推荐指数
1
解决办法
4579
查看次数

如何在Android平台上的可执行文件中使用CallStack(在CallStack.tpp中)?

来自/sf/answers/802692831/的问题

我的最终目标是转储用户空间堆栈。

我尝试将以下cpp文件构建为android平台上的可执行文件。因此,通过调用tryToGetStack(),可以在运行时获取可执行文件的调用堆栈。

#include <utils/CallStack.h>
namespace android
{
    extern "C" void tryToGetStack()
    {
        CallStack stack;
        stack.update();
        stack.dump("");
    }
}
Run Code Online (Sandbox Code Playgroud)

并将lib设置添加到Android.mak,因为CallStack.tpp在libutils中

LOCAL_SHARED_LIBRARIES + = libutils

但是我总是收到错误消息:

错误:未定义对“ android :: CallStack :: CallStack()”的引用

错误:未定义对“ android :: CallStack :: update(int,int)”的引用

...

似乎可执行文件在链接时解析符号,而不是在运行时加载.so文件?我会丢失某些东西还是Android构建系统存在某些限制吗?

我知道这是一个简单的问题,但我确实需要帮助...

更新1

我尝试将代码添加到另一个可执行文件中。结果是一样的...有人知道android构建系统的规则吗?

更新2

我的控制台中有一些关键字“ target StaticExecutable:...”,我认为这就是答案。

http://en.wikipedia.org/wiki/Static_executable

linux android callstack build stack-trace

3
推荐指数
1
解决办法
5128
查看次数

整数比较的返回值很奇怪.(1 == 1)是'1'但是(1!= 0)是''(没有)

我的perl脚本在一个机制上工作但在另一个机制上失败.

我使用perl调试器通过在命令中添加"-d"来调试它.即"perl -d my_perl.pl".然后我发现所有"整数比较"仅适用于TRUE结果.

例如,如果我输入debug命令

"x(1 == 1)"

它返回'1'(TRUE).但是如果我输入debug命令

"x(1!= 1)"

它返回''(没有,结果预计为0(FALSE)).

顺便说一下,字符串比较是一样的.x"s"eq"s"返回'1'和x"s"eq"s"返回''.

我使用perl v5.14.2(通过perl -v获取).我的perl有什么问题?我该如何解决?

perl

1
推荐指数
1
解决办法
99
查看次数

标签 统计

android ×2

linux ×2

build ×1

callstack ×1

linux-kernel ×1

perl ×1

stack-trace ×1

system ×1