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 8eb25d552b07ffa799b7b61ad46d0109e7512741)
Change-Id: I6b1568161fae278f0e6107990e5b750cf0ca902b
diff --git a/cmds/dumpstate/utils.c b/cmds/dumpstate/utils.c
index 309a004..7694adb 100644
--- a/cmds/dumpstate/utils.c
+++ b/cmds/dumpstate/utils.c
@@ -565,7 +565,7 @@
}
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 */
snprintf(path, sizeof(path), "/proc/%d/cmdline", pid);
int fd = open(path, O_RDONLY);
@@ -575,7 +575,7 @@
continue;
}
data[len] = '\0';
- if (!strcmp(data, "zygote")) {
+ if (!strncmp(data, "zygote", strlen("zygote"))) {
continue;
}