gpt4 book ai didi

java - 从应用程序代码中获取其他进程的 Hprof 转储

转载 作者:行者123 更新时间:2023-12-01 05:55:47 26 4
gpt4 key购买 nike

在我的应用程序中,我可以选择捕获 hprof 转储。我使用过

android.os.Debug.dumpHprofData(字符串文件名)

最初我虽然通过上述方法生成的 hprof 数据是用于整个装置却并非如此。生成的hprof数据仅对于我的流程。

现在我也尝试为其他进程生成 hprof 数据。我需要从以下位置获取所有正在运行的进程的 Hprof 转储应用程序代码。

从 adb shell 我尝试了“kill -10”,该命令将生成data/misc文件夹中对应进程的hprof文件。

现在的问题是这个命令在 adb 中运行得很好shell 提示符,但我无法将命令嵌入到 mycode 中。

我的代码就像

Runtime.getRuntime().exec("chmod 777/data/misc")Runtime.getRunTime().exec("kill -10 ")

没有抛出异常,但不知何故它不起作用。相同上面的代码正在捕获我的进程的 Hprof 转储,当我给出我的进程ID。

我尝试使用“android.os.Process.sendSignal (int pid,android.os.Process.SIGNAL_USR1) ;"也遇到同样的问题。为我的进程捕获 Hprof 转储。对于其他进程则不然工作。

我们是否需要有任何特殊权限才能终止其他进程我们的流程?或者这是一个内置问题?你能推荐一些吗从应用程序获取其他进程的 Hprof 转储的可能方法代码?

谢谢

最佳答案

Do we need to have any special permission to kill other process from our process ?

是的,就像在任何其他 Linux 系统中一样。

can you please suggest some possible way to get Hprof dump for other processes from application code?

root你的手机。

您可以尝试使用ActivityManager及其killBackgroundProcesses()方法,但我不知道这是否会生成您想要的文件。如果确实如此,则属于安全漏洞,需要修复。

关于java - 从应用程序代码中获取其他进程的 Hprof 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3053195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com