【问题标题】:use Linux Strace command inside Java program在 Java 程序中使用 Linux Strace 命令
【发布时间】:2018-10-01 15:47:23
【问题描述】:

我想调用 Linux 命令“Strace”来监控 anroid 操作系统的系统调用。有没有办法在 Andorid 移动应用程序开发的 java 程序中调用 Strace 命令。

【问题讨论】:

  • 我认为strace 通常不会在 Android 用户设备上提供。您可以尝试包含您自己的(或在 JNI 中使用 ptrace 编写您自己的功能),但我不确定它是否能正常工作......

标签: java android linux android-studio strace


【解决方案1】:

代码是:

Process p = Runtime.getRuntime().exec("strace "+ /*rest of the command*/);

然后,您可以从“进程”InputStream 读取输出。您可以使用p.getInputStream() 来获得它。

【讨论】:

  • 请注意,您可能只被允许跟踪您自己的进程。如果你这样做,我会担心从该输入流中的每次读取都会导致一个新事件,它可以让你读取,这会导致一个新事件,它可以让你读取,等等。您应该能够通过为 strace 提供适当的参数以使其过滤掉读取来避免这种情况。
  • 请问有没有其他方法可以监控不同Android应用程序所需的系统调用?
  • AFAIK,您需要使用它构建自己的自定义 ROM。我非常怀疑即使具有 root 访问权限,您也可以做这样的事情。
猜你喜欢
  • 2011-09-08
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
  • 2011-04-11
相关资源
最近更新 更多