dumpstate: fix dumping traces for vm processes on 64-bit

dumpstate was not dumping any stack traces for vm processes because
it was failing the string compare for /system/bin/app_process.
64-bit devices use app_process32 and app_process64 instead of
app_process, and zygote64 alongside zygote.  Change the string
matching to be prefix matching.

(cherry picked from commit 8eb25d552b)

Change-Id: I6b1568161fae278f0e6107990e5b750cf0ca902b
This commit is contained in:
Colin Cross 2014-07-16 19:00:46 -07:00
parent 8227caaabf
commit 0d6180f122

View File

@ -565,7 +565,7 @@ const char *dump_traces() {
} }
data[len] = '\0'; data[len] = '\0';
if (!strcmp(data, "/system/bin/app_process")) { if (!strncmp(data, "/system/bin/app_process", strlen("/system/bin/app_process"))) {
/* skip zygote -- it won't dump its stack anyway */ /* skip zygote -- it won't dump its stack anyway */
snprintf(path, sizeof(path), "/proc/%d/cmdline", pid); snprintf(path, sizeof(path), "/proc/%d/cmdline", pid);
int fd = open(path, O_RDONLY); int fd = open(path, O_RDONLY);
@ -575,7 +575,7 @@ const char *dump_traces() {
continue; continue;
} }
data[len] = '\0'; data[len] = '\0';
if (!strcmp(data, "zygote")) { if (!strncmp(data, "zygote", strlen("zygote"))) {
continue; continue;
} }