【发布时间】:2010-06-16 12:28:37
【问题描述】:
在我的应用程序中,我可以选择捕获 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 转储的可能方法 代码?
谢谢
【问题讨论】: