Exception Analysis tools

There are lots of tools for Linux for analyzing and debugging exceptions in both the kernel and user-space programs.

Outline

 * capturing information
 * information emitted to kernel buffer
 * serial console, net console, (other consoles - USB?)
 * Oops savers: mtdoops, pstore, ramoops, netoops
 * process exceptions
 * android tombstones (exception summaries)
 * see http://kobablog.wordpress.com/2011/05/12/debuggerd-of-android/
 * Sony exception monitor log
 * coredumps (full process image)
 * kernel image
 * kdump
 * see Kernel crash logging and core dump - Kong Wang, Redhat, at LinuxCon Japan 2011
 * parsing information
 * There are many tutorials on analyzing a kernel Oops. One of the best is the following:
 * oops analysis: http://madwifi-project.org/wiki/DevDocs/KernelOops
 * ksymoops is used to convert addresses in an oops document to symbols
 * GDB is used with coredump files
 * see GDB
 * For Sony's EM log: emlogconv, em-log-process
 * debuggerd analysis
 * see http://kobablog.wordpress.com/2011/05/14/how-to-read-crash-dump-of-android/
 * interactive analysis
 * Sony exception monitor

Debugging the kernel
(this section is only here temporarily)
 * target agents:
 * connectors:
 * adb
 * what do WR, MV and others use to set up or connect the debugger to the process?
 * debug agents
 * gdbserver
 * kgdb
 * host agents:
 * adb server
 * debuggers:
 * gdb
 * kdb (local interactive kernel debugging)


 * See http://kernel.org/pub/linux/kernel/people/jwessel/dbg_webinar/State_Of_kernel_debugging_LinuxCon2010.pdf
 * Jason Wessel description of kernel debugging status at LinuxCon 2010.
 * Notes:
 * kgdboe = kgdb over ethernet - is unreliable and not going to be mainlined in current form
 * kgdboc = kgdb over console? - slow but preferred
 * kdb over EHCI = USB dongle for high-speed