From 30b9f57c8b2c1e3d0b3d2668ad04980ea0050d04 Mon Sep 17 00:00:00 2001 From: San Mehat Date: Tue, 1 Sep 2009 13:27:20 -0700 Subject: dumpstate: Add support for apanic crash data Signed-off-by: San Mehat --- cmds/dumpstate/dumpstate.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'cmds') diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c index 18713e9..3ddc922 100644 --- a/cmds/dumpstate/dumpstate.c +++ b/cmds/dumpstate/dumpstate.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,8 @@ static int end_pattern[] = { 75, 50, 75, 50, 75, 0 }; static struct tm now; +static void dump_kernel_log(const char *path, const char *title) ; + /* dumps the current system state to stdout */ static void dumpstate(int full) { if (full) { @@ -101,8 +104,12 @@ static void dumpstate(int full) { DUMP("/data/system/packages.xml"); PRINT("------ PACKAGE UID ERRORS ------"); DUMP("/data/system/uiderrors.txt"); - PRINT("------ LAST KERNEL LOG ------"); - DUMP("/data/last_kmsg"); + + dump_kernel_log("/data/dontpanic/last_kmsg", "RAMCONSOLE"); + dump_kernel_log("/data/dontpanic/apanic_console", + "PANIC CONSOLE"); + dump_kernel_log("/data/dontpanic/apanic_threads", + "PANIC THREADS"); } PRINT("========================================================"); PRINT("== build.prop"); @@ -295,3 +302,13 @@ int main(int argc, char *argv[]) { return 0; } +static void dump_kernel_log(const char *path, const char *title) + +{ + printf("------ KERNEL %s LOG ------\n", title); + if (access(path, R_OK) < 0) + printf("%s: %s\n", path, strerror(errno)); + else + DUMP(path); +} + -- cgit v1.1