|| ||[ANNOUNCE] Merkey's Kernel Debugger|
|| ||Sun, 3 Aug 2008 11:22:36 -0600 (MDT)|
This is a linux port of the kernel debugger I wrote in 2000 for the
MANOS/Gadugi Operating System. I created this particular
port in June of this year from the MANOS/Gadugi source code I released
under the GNU public license in 2000.
I wrote the SMP debugger use in SMP Netware in 1994 and 1995, and that was
later rolled into the main Netware kernel, though a lot of folks
contributed helped merge it into Netware. This debugger closely resembles
the legacy Netware kernel debugger, and I find it easier to use than kdb
crashes and problems.
This version is ia32 only at present, but I am completing x86_64 support
and will post it as it is completed. I basically wrote this tool for
my own internal use and for my projects since I could not find a debugger
in linux I was used to. I add support to it as I need it for my own
This linux port of my kernel debugger does not require kdb or the kdb hooks
and is more minimal than kdb and has some features kdb does not, such as
Intel style disassembly with dereferencing of data during disassembly
and a very robust mathematical numeric support with conditional breakpoints.
I created a far more robust version of this debugger in 2001 which
included source level support, integrated screen and keyboard support,
remote networking capability, and loader support and licensed it to another
company. I was placed under a 5 year non-compete not to port
this tool to Linux until end of year 2007. The folks who licensed it
did absolutely nothing with it of consequence, and 2007 has come and gone,
so I am released from the non-compete and decided to port the debugger
from my old Open Source operating system and I figured it might be as useful
to others as it has been for my projects.
I will be posting user space modules which can be loaded with this version
at some point which will enable source level debugging and a bunch of
other features. This add ons may get farmed out to another company for
This debugger works very well on SMP systems, but some of the directed
NMI features are intended for post mortem crashed systems.
All numbers entered are interpreted as hex. If you want a number
interpreted from the debugger console in decimal, add an 'r' to the end of
the number for "real number".
There is awesome help support in the debugger. type "help" or "help
I have support for post-mortem directed NMI breakpoints from the debugger
console if you want to halt another processor which can hang on some
systems, but usually does not.
I do not have ia64 support and since Intel in 2000 refused to share ia64
information with me, I never completed the ia64 section of the debugger.
If and when I obtain an ia64 system, I will look into putting it in or
try to adapt the disassembler out of kdb which has ia64 and x86_64 support.
Any additional code fixes I would appreciate being placed back into the
tree, so please sent them back to me if you find the debugger useful.
I commend Keith Owens for his work on kdb and his project is more than
welcome to share and adapt the code from mdb if it is useful for their
project. I am certainly looking seriously at using the disassembler in
kdb for mdb, with my enhancements rolled into it.
Jeffrey Vernon Merkey
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/