Getting Hprof dump for other processes from application code

Posted by Natarajan on Stack Overflow See other posts from Stack Overflow or by Natarajan
Published on 2010-06-16T12:28:37Z Indexed on 2010/06/16 12:32 UTC
Read the original article Hit count: 267

Filed under:

Hi,

In my application , i have an option to capture the hprof dump. I used

android.os.Debug.dumpHprofData (String fileName)

Initially i though the hprof data generated by the method above is for the entire device , which is not so . The hprof data generated is only for my process.

Now i am trying to generate hprof data for other process as well. I need to get the Hprof dump for all the running processes from application code.

from adb shell i tried "kill -10 " , This command will generate the hprof file for the corresponding process in the data/misc folder.

Now the problem is this command is working perfectly from the adb shell prompt , but i am not able to embed the command to mycode.

My code is like

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

No exceptions are thrown , but somehow it is not working. The same code above is capturing Hprof dump for my process, when i give my process ID.

I tried with "android.os.Process.sendSignal (int pid, android.os.Process.SIGNAL_USR1) ;" also.Getting the same problem.It is capturing Hprof dump for my process. For other processes it is not working.

Do we need to have any special permission to kill other process from our process ? Or is it a built issue ? can you please suggest some possible way to get Hprof dump for other processes from application code?

Thanks

© Stack Overflow or respective owner

Related posts about android