Subject: [PATCH 00/13] Add gdb python scripts as kernel debugging helpers
Date: Monday 5th November 2012 16:08:53 UTC (over 4 years ago)
Version 2 of this series is a rebase over 3.7-rc4 to resolve some minor collision in the top-level makefile. Moreover, this implements automatic symbol loading for kernel modules using silent breakpoints. See patch 3 for details. Unless someone complains over this series or suggests a better workflow, I'm planning to send a pull to Linus during the next merge window. Here is the original intro for reference: This adds the infrastructure and first tools that make kernel debugging through gdb more comfortable. Since 7.0, gdb supports python scripting. And this opens the doors to automate steps like the tedious loading of module symbols at the right address, resolving per-cpu variables or even retrieving the current kernel log without resuming an stopped target. Many of the helpers naturally depend on the layout of structures or internal mechanics of the kernel. So the best place to maintain such things, keeping them consistent with the corresponding kernel is, well, the kernel itself. While these scripts have been originally developed for debugging via QEMU/KVM, I've now also added the required bits for KGDB. Works fine, but as QEMU/KVM tends to outperform KGDB it remains the recommendation - when available. There are two architecture dependencies so far, one regarding per-cpu, the other regarding thread_info calculation. None of them I was able to test on a target, so I'm counting on review/testing by the corresponding communities. This series should be considered the foundation of much more kernel state exploration helper, e.g. around tasks, timers, locks, sockets - I guess people will have even more ideas. Hope it's useful! PS: Also available via git://git.kiszka.org/linux.git queues/gdb-scripts CC: "David S. Miller"