debuggerd: recognize jumps to non-executable memory.
We have fairly fancy detection of stack pointer issues, but nothing for the program counter... Bug: https://issuetracker.google.com/365602121 Change-Id: I7e7061a1b473089a0f31438df5ebc65b283475bc
This commit is contained in:
parent
1024225b62
commit
b17d7be2e5
1 changed files with 3 additions and 0 deletions
|
|
@ -356,6 +356,9 @@ static void dump_probable_cause(Tombstone* tombstone, unwindstack::AndroidUnwind
|
|||
auto map_info = maps->Find(fault_addr);
|
||||
if (map_info != nullptr && map_info->flags() == PROT_EXEC) {
|
||||
cause = "execute-only (no-read) memory access error; likely due to data in .text.";
|
||||
} else if (fault_addr == target_thread.registers->pc() &&
|
||||
map_info != nullptr && (map_info->flags() & PROT_EXEC) == 0) {
|
||||
cause = "trying to execute non-executable memory.";
|
||||
} else {
|
||||
cause = get_stack_overflow_cause(fault_addr, target_thread.registers->sp(), maps);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue