From owner-freebsd-current@FreeBSD.ORG Fri Aug 28 19:48:48 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 134CA106564A for ; Fri, 28 Aug 2009 19:48:48 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (router.rabson.org [80.177.232.241]) by mx1.freebsd.org (Postfix) with ESMTP id C8BD58FC16 for ; Fri, 28 Aug 2009 19:48:47 +0000 (UTC) Received: from [IPv6:2001:470:909f:1:225:ff:feed:9426] (unknown [IPv6:2001:470:909f:1:225:ff:feed:9426]) by itchy.rabson.org (Postfix) with ESMTP id 979255CC8 for ; Fri, 28 Aug 2009 20:23:34 +0100 (BST) Message-Id: <8819E53E-9F96-43E2-B7F5-F5393F5AE126@rabson.org> From: Doug Rabson To: FreeBSD Current Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Fri, 28 Aug 2009 20:23:34 +0100 X-Mailer: Apple Mail (2.935.3) Subject: New BSD licensed debugger X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Aug 2009 19:48:48 -0000 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.