What's New
  Home
  Introduction
  Downloads
  Documentation
  Credits
  Support
  About KGDB
  KGDB Pronew

 

16th March 2006: kgdb 2.4 for 2.6.15.5 kernel is available from the downloads page.The kgdb ethernet interface also works fine with this version.

9th November 2005: kgdb 2.3 for 2.6.13 kernel is available from the downloads page.The kgdb ethernet interface works fine.

6th August 2004: kgdb 2.2 for 2.6.7 kernel is available from the downloads page.

19th March 2004: A gdb for automatic loading of modules in 2.6 kernels has been uploaded to downloads page. Module debugging for 2.6 kernels works only with development version of kgdb for now.

11th February 2004: Setup a cvs tree for development of kgdb on 2.6 kernels. More information at this page. Latest development version of kgdb can be availed using cvs.

21st January 2004: kgdb 2.1.0 for kernel 2.6.1[i386,x86_64,ppc] with a powerpc patch.

20th January 2004: kgdb 2.0.5 for kernel 2.6.1[i386,x86_64] with fixes and several changes in kgdb ethernet interface. The kgdb ethernet interface works to some extent.

17th January 2004: kgdb 1.6 for redhat kernel 2.4.20-19.9.
kgdb 2.0.4 for kernel 2.6.1[i386,x86_64] with cleanups and restructuring of code.

16th January 2004:kgdb 2.0.3 for kernel 2.6.1[i386,x86_64] with some fixes to core and ethernet interface. Ethernet interface is still under development.

12th January 2004:kgdb 2.0.2 for kernel 2.6.1[i386,x86_64] with some fixes and restructuring in core kgdb and ethernet interface.

10th January 2004: kgdb 2.0.1 for kernel 2.6.1[i386,x86_64] is available. I have started merging the ethernet interface. It's not ready yet.

7th January 2004: kgdb 2.0 for kernel 2.6.0 for architectures i386 and x86_64 is available from downloads page. This version features automatic loading of modules in gdb and a changed kgdb kernel command line options (kgdbwait kgdb8250).

26th December 2003: kgdb 1.6 for x86_64 released. Special instructions for x86_64 port at this page.

23rd December 2003: kgdb 1.9 with automatic loading of modules in gdb and better kernel stack traces for kernel 2.4.23.

19th December 2003: kgdb 1.8 for kernel 2.4.23 with experimental support for powerpc processors. It has been integrated with x86 kgdb, hence all features of x86 kgdb are available including thread support. Some documentation is available for powerpc kgdb.
kgdb 1.6 for redhat enterprise linux 3.0 kernel.

9th December 2003: kgdb 1.7  for kernel 2.4.23 with hasslefree gdb detach reattach and restructured code for merging kgdbs of other architectures.

10th November 2003: kgdb for redhat 9.0 kernel is available from downloads page.

2nd August 2003: kgdb for redhat update kernel 2.4.20-18.7 is available from downloads page.
Procedure for using modules loaded into a kernel without using kgdb loadmodule.sh script has been added on loading a module file in gdb page. With a newly added script getsyms.sh, you can extract the information needed by gdb to debug a module from a running kernel.

30th July 2003: kgdb for 2.4.20 kernel is available from downloads page.

26th January 2003: Enhanced kgdb to support gdb 'Z' packet. With this packet kgdb stores breakpoint information inside the kernel instead of gdb. With this feature breakpoints won't result in unexpected behavior when gdb dies. Fixed console output through gdb.

4th January 2003: kgdb for redhat 7.3 kernel available from the downloads page.

22nd December 2002: kgdb for redhat 8.0 kernel available from the downloads page.

19th November 2002: Starting work on lan based kgdb. I'll release a new patch asap.

26th July 2002: V. Ganesh has written a kgdb stub on ibm s390 mainframe platform.

25th April 2002: Fixed bugs in script loadmodule.sh .

1st April 2002 : kgdb for kernel 2.4.18 .

29th Marh 2002: kgdb 1.5 with reworked buggy smp handling. Previous kgdb had a bug which caused it to hang when a processor spun with interrupts disabled and another processor enters kgdb. kgdb now uses nmi watchdog for holding other processors while a machine is in kgdb.

20th March 2002: Added documentation on thread analysis .

13th March 2002: kgdb 1.4 with fixes in the definition of KA_HELD_GLK and DO_BUG.

15th January 2002: kgdb for redhat 7.2 kernel is available from downloads page.

13th January 2002: kgdb 1.3 with fixes for a bug in the definition of KA_HELD_GKL and a compilation problem in the definition of schedule(). kgdb is now available for 2.4.16 kernel.

16 October 2001: Added documentation on debugging an init_module function .

9 October 2001: kgdb 1.2 with fix a compilation problem in arch/i386/kernel/i386_ksyms.c for 2.4.10 kernels. I have also started using kgdb-bugreport mailing list ( http://lists.sourceforge.net/lists/listinfo/kgdb-bugreport ) for kgdb problems.

2 October 2001: kgdb for linux kernel 2.4.10 is available from the downloads page.

30 September 2001: Fixed incorrect ESP reported in threads and improved page fault handling.

22 August 2001: Revised documentation. Added more information on troubleshooting. Fixed a broken link on the downloads page.

12 August 2001: In response to requests from many people, I have prepared a kgdb patch for linux kernel with Redhat 7.1. It is available from downloads page. Some documentation is revised. kgdb patches now have a naming convention to identify kgdb features available in a patch easily.

5 August 2001: Help for kernel asserts didn't appear because of a problem in Configure.help file. Fixed it. Revised some documentation.

29 July 2001: Fixed problems with CONFIG_KGDB_THREAD option. Revised some documentation. Completed documentation for stack trace: Stack trace and Inline functions .

27 July 2001: Added some documentation. Added a webpage Unloading a module and loading it again .

24 July 2001: Fixed errors reported on compiling a debug kernel when CONFIG_KGDB_THREAD is disabled. Added a troubleshooting related web page.

22 July 2001:
Restructured the kgdb webpage for better readability and added extensive documentation. The documentation is still being being written.  It will be available on the kgdb webpage as soon as I finish it. Incomplete documentation is marked in italics.

kgdb for linux kernel 2.4.6 is available from the downloads page. It has following improvements over kgdb for 2.4.3 kernel.

  • Enhanced kgdb with kgdb and kernel asserts .
  • Added configuration option for thread analysis. The configuration option enables code required for thread analysis which is disabled by default to of the overhead it causes.
  • Modified semaphore handling functions so that knowing where a thread is waiting on a semaphore is easier.
15 June 2001: kgdb for 2.4.5 with the same functionalities as kgdb for 2.4.3

April 2001:
kgdb for 2.4.3 kernel had following improvements over kgdb for 2.4.2 kernel.

  • Changed #ifdef __SMP__ statements to #ifdef CONFIG_SMP .
  • Removed EXTRAVERSION=-kgdb line from the Makefile. This had caused change in the name of the kernel. It was inconvenient in some setups. If name of the kernel was already changed, the patch would fail at this line.
March 2001:
kgdb for 2.4.2 kernel had following improvements over previous versions:
  • Registers for all threads: Registers for a thread can now be got by using info registers command in gdb. Exact state of a thread is known with availability of registers alongwith a stack trace.
  • Exact top function in a stack trace: Ealier version of kgdb showed schedule as the top function in a stacktrace for threads which are waiting on some event. Now the function that calls schedule function is shown as the top function. This allows knowing kernel state quickly by having a glance at output of info threads gdb command.
  • Improvements to nmi-watchdog handling: kgdb can now handle nmi-watchdog well. The kernel doesn't hang even if multiple processors enter nmi-watchdog at the same time. All processors, running with or without interrupts are held by the debugger during the time a kernel is being analyzed. The kernel enters debugger without declaring a panic on nmi-watchdog. Hence stat of the kernel can be analyzed well even on nmi-watchdog occarance.