atom feed10 messages in org.freebsd.freebsd-currentNew BSD licensed debugger
FromSent OnAttachments
Doug RabsonAug 28, 2009 12:23 pm 
Julien LaffayeAug 28, 2009 1:34 pm 
Doug RabsonAug 28, 2009 3:22 pm 
Julian ElischerAug 28, 2009 3:26 pm 
Doug RabsonAug 29, 2009 12:22 am 
Michael David CrawfordAug 29, 2009 12:49 am 
Doug RabsonAug 29, 2009 1:49 am 
Roman DivackyAug 29, 2009 2:25 am 
Doug RabsonAug 29, 2009 3:32 am 
Garance A DrosehnAug 31, 2009 12:16 am 
Subject:New BSD licensed debugger
From:Doug Rabson (df@rabson.org)
Date:Aug 28, 2009 12:23:11 pm
List:org.freebsd.freebsd-current

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.