Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Aug 2009 20:23:34 +0100
From:      Doug Rabson <dfr@rabson.org>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   New BSD licensed debugger
Message-ID:  <8819E53E-9F96-43E2-B7F5-F5393F5AE126@rabson.org>

next in thread | raw e-mail | index | archive | help
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.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8819E53E-9F96-43E2-B7F5-F5393F5AE126>