diff options
Diffstat (limited to 'debuggerd')
| -rw-r--r-- | debuggerd/arm/machine.c | 6 | ||||
| -rw-r--r-- | debuggerd/tombstone.c | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/debuggerd/arm/machine.c b/debuggerd/arm/machine.c index 1c2e13f..160db7b 100644 --- a/debuggerd/arm/machine.c +++ b/debuggerd/arm/machine.c @@ -53,7 +53,8 @@ static void dump_memory(log_t* log, pid_t tid, uintptr_t addr, bool at_fault) { /* catch underflow */ p = 0; } - end = p + 80; + /* Dump more memory content for the crashing thread. */ + end = p + 256; /* catch overflow; 'end - p' has to be multiples of 16 */ while (end < p) end -= 16; @@ -81,6 +82,8 @@ static void dump_memory(log_t* log, pid_t tid, uintptr_t addr, bool at_fault) { long data = ptrace(PTRACE_PEEKTEXT, tid, (void*)p, NULL); sprintf(code_buffer + strlen(code_buffer), "%08lx ", data); + /* Enable the following code blob to dump ASCII values */ +#if 0 int j; for (j = 0; j < 4; j++) { /* @@ -95,6 +98,7 @@ static void dump_memory(log_t* log, pid_t tid, uintptr_t addr, bool at_fault) { *asc_out++ = '.'; } } +#endif p += 4; } *asc_out = '\0'; diff --git a/debuggerd/tombstone.c b/debuggerd/tombstone.c index 52223da..5feabe5 100644 --- a/debuggerd/tombstone.c +++ b/debuggerd/tombstone.c @@ -126,6 +126,15 @@ static const char *get_sigcode(int signo, int code) return "?"; } +static void dump_revision_info(log_t* log) +{ + char revision[PROPERTY_VALUE_MAX]; + + property_get("ro.revision", revision, "unknown"); + + _LOG(log, false, "Revision: '%s'\n", revision); +} + static void dump_build_info(log_t* log) { char fingerprint[PROPERTY_VALUE_MAX]; @@ -597,6 +606,7 @@ static bool dump_crash(log_t* log, pid_t pid, pid_t tid, int signal, _LOG(log, false, "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n"); dump_build_info(log); + dump_revision_info(log); dump_thread_info(log, pid, tid, true); if(signal) { dump_fault_addr(log, tid, signal); |
