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:
parent
8227caaabf
commit
0d6180f122
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user