New BSD licensed debugger

Doug Rabson dfr at
Fri Aug 28 19:48:48 UTC 2009

As one or two of you know, I've been working recently on writing a new  
debugger, primarily for the FreeBSD platform. For various reasons,  
I've been writing it in a relatively obscure C-like language called D  
(see for more details  
including a free download of a FreeBSD D compiler.

So far, I have a pretty useful (if a little raw at the edges) command  
line debugger which supports ELF, Dwarf debugging information and  
(currently) 32 bit FreeBSD and Linux. The engine includes parsing and  
evaluation of arbitrary C expressions along with the usual debugging  
tools such as breakpoints, source code listing, single-step etc. All  
the code is new and BSD licensed. Currently, the thing supports  
userland debugging of i386 targets via ptrace and post-mortem core  
file debugging of same. I'll be adding amd64 support real soon (TM)  
and maybe support for GDB's remote debugging protocol later.

If anyone is interested in taking a look at a 'Technology Preview',  
I've put up a git repository at 
ngdb.git. To build it you need to install 'omake' from /usr/ports/ 
devel/omake and you will need a D compiler. There are three options  
there - DMD which you can download from 
  is free, closed source and works pretty well. GDC is a D front end  
to GCC and you can find it in ports - it works well enough but hasn't  
been updated for ages. Personally, I use LDC which is a D front end to  
LLVM but that doesn't build out-of-the box (I have a private hacked  
version of LDC and some associated libraries).

Have fun with it and don't complain too much if it doesn't build/ 
breaks/eats your homework etc.

More information about the freebsd-current mailing list