New BSD licensed debugger
dfr at rabson.org
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 http://www.digitalmars.com/d/1.0/index.html 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 http://people.freebsd.org/~dfr/
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 http://www.digitalmars.com/d/download.html
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