我运行以下Android Monkey命令:
adb shell monkey --hprof -v -p com.my.app 5000
它应该在/ data / misc下创建一个hprof文件,但它没有。我chmod'ed 777 / data / misc。
然后我尝试了kill -10 APP_PID,但是在logcat下得到了以下内容:
I/dalvikvm( 771): threadid=4: reacting to signal 10
I/dalvikvm( 771): SIGUSR1 forcing GC (no HPROF)
D/dalvikvm( 771): GC_EXPLICIT freed 46K, 38% free 8352K/13383K, external 15387K/15496K, paused 98ms
我在Galaxy S上运行Cyanogenmod版本7,Android版本2.3.7。
为什么“没有HPROF”,如何通过Monkey获取HPROF转储并杀死-10?
由于
答案 0 :(得分:3)
当使用--hprof
猴子调用时,向所有进程发送SIGUSR1
信号,但此补丁已禁止从Dalvik转储HPROF数据:
commit b037a464512c0721bdca969ae19cce3d4b17b083作者:Andy McFadden 日期:7月16日星期五11:07:58 2010 -0700
Don't do heap dump on SIGUSR1. We still do the GC, but without the HPROF heap dump. Change-Id: I004a65b9571667dd320dfabec1441d0fc8b9970a
因此,在SIGUSR1
上只调用了GC。
我想必须从猴子中删除--hprof
选项。