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. Change-Id: I6970e1b1fedfcd601f8db6af62852422fcb71d59
This commit is contained in:
parent
721fdd3a6a
commit
8eb25d552b
@ -526,7 +526,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);
|
||||||
@ -536,7 +536,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user