Difference between revisions of "KDB"
(add some basic information about KDB) |
|||
| Line 1: | Line 1: | ||
Here is some information about KDB - the in-kernel debugger for the Linux kernel. | Here is some information about KDB - the in-kernel debugger for the Linux kernel. | ||
| − | + | The KDB and KGDB official wiki: https://kgdb.wiki.kernel.org/ | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Jason Wessel is the current KDB maintainer. Here is a presentation from him at LinuxCon 2010 (August 2010): | Jason Wessel is the current KDB maintainer. Here is a presentation from him at LinuxCon 2010 (August 2010): | ||
| Line 18: | Line 14: | ||
* video 6 of 6: http://www.youtube.com/watch?v=nnopzcwvLTs - use of kgdb over serial - Start up the agent-proxy and connect and hit a breakpoint a sys_sync | * video 6 of 6: http://www.youtube.com/watch?v=nnopzcwvLTs - use of kgdb over serial - Start up the agent-proxy and connect and hit a breakpoint a sys_sync | ||
| + | == Older Information == | ||
| + | See http://www.ibm.com/developerworks/linux/library/l-kdbug/ for a tutorial for the 2.4.20 kernel (from June 2003) | ||
| − | + | Here's an article from 2002 on KDB vs. KGDB: http://kerneltrap.org/node/112 | |
| + | It has a good discussion excerpt between Andrew Morton and Keith Owens about the relative merits of KDB versus KGDB. | ||
| + | == Questions == | ||
Here are some questions to answer: | Here are some questions to answer: | ||
* What kernel versions are supported? | * What kernel versions are supported? | ||
| Line 30: | Line 30: | ||
* panic | * panic | ||
* sysrq trigger | * sysrq trigger | ||
| + | * how to use agent-proxy to multiplex console and kdb (or is this only for kgdb?) | ||
== Kernel configuration == | == Kernel configuration == | ||
== Using gdb to see the kernel source listing == | == Using gdb to see the kernel source listing == | ||
Revision as of 22:52, 22 June 2011
Here is some information about KDB - the in-kernel debugger for the Linux kernel.
The KDB and KGDB official wiki: https://kgdb.wiki.kernel.org/
Jason Wessel is the current KDB maintainer. Here is a presentation from him at LinuxCon 2010 (August 2010): http://kernel.org/pub/linux/kernel/people/jwessel/dbg_webinar/State_Of_kernel_debugging_LinuxCon2010.pdf
Here are some videos showing use of KDB and KGDB:
- video 1 of 6: http://www.youtube.com/watch?v=V6Qc8ppJ_jc - example of a call to panic from a test module (without a debugger)
- video 2 of 6: http://www.youtube.com/watch?v=LqAhY8K3XzI - example of catching the panic with KDB, and looking up the source line with gdb
- video 3 of 6: http://www.youtube.com/watch?v=bBEh_UduX04 - example of a bad access request, and looking up the source line with gdb
- video 4 of 6: http://www.youtube.com/watch?v=MfJU2E0aJwg - example of using a hardware breakpoint with kdb
- video 5 of 6: http://www.youtube.com/watch?v=sWiHV5mt8_k - use an address watch (hardware watchpoint) using kgdb (data access hardware breakpoint on tp_address_ref)
- video 6 of 6: http://www.youtube.com/watch?v=nnopzcwvLTs - use of kgdb over serial - Start up the agent-proxy and connect and hit a breakpoint a sys_sync
Contents |
Older Information
See http://www.ibm.com/developerworks/linux/library/l-kdbug/ for a tutorial for the 2.4.20 kernel (from June 2003)
Here's an article from 2002 on KDB vs. KGDB: http://kerneltrap.org/node/112 It has a good discussion excerpt between Andrew Morton and Keith Owens about the relative merits of KDB versus KGDB.
Questions
Here are some questions to answer:
* What kernel versions are supported? * 2.6.35 and on * what kernel configs are required to be set? * CONFIG_KDB * CONFIG_ * how to invoke the debugger? * panic * sysrq trigger * how to use agent-proxy to multiplex console and kdb (or is this only for kgdb?)