Date: Sun, 30 May 2010 10:21:31 -0700 From: Bakul Shah <bakul@bitblocks.com> To: =?ISO-8859-1?Q?=22C=2E_Bergstr=F6m=22?= <cbergstrom@pathscale.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Announcing PathDB Message-ID: <20100530172131.382465B04@mail.bitblocks.com> In-Reply-To: Your message of "Sun, 30 May 2010 01:27:12 %2B0700." <4C015C80.9050009@pathscale.com> References: <4C0108F1.5050004@pathscale.com> <20100529160155.GA3519@anja> <4C013E24.6020204@pathscale.com> <20100529165115.068AF5B58@mail.bitblocks.com> <4C0148A4.8060207@pathscale.com> <20100529175226.ECDC45B58@mail.bitblocks.com> <4C015C80.9050009@pathscale.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[Added -hackers as this may be of some interest to others. Hope you don't mind] On Sun, 30 May 2010 01:27:12 +0700 =?ISO-8859-1?Q?=22C=2E_Bergstr=F6m=22?= <cbergstrom@pathscale.com> wrote: > ps. Tell me what you need to make it interesting and we'll try to make > it happen.. Ok, here are some "interesting" ideas! * Add a ups like interface and I will be very happy! http://ups.sourceforce.net/ Supposedly the following is needed to make it work on Linux. cvs -d:pserver:anonymous@ups.cvs.sourceforge.net:/cvsroot/ups login cvs -z3 -d:pserver:anonymous@ups.cvs.sourceforge.net:/cvsroot/ups co -P ups cd ups ./configure --enable-longlong I haven't tried this on linux but with a couple of patches it builds and runs fine on freebsd-i386. It has a built in C interpreter which is very handy; you can add C code at breakpoints for conditional bkpts or patch a variable etc. But the GUI is the best part -- I won't try explaining it, you have to experience it! Perhaps it can be used somehow? * multi-{thread,core,process,program,machine} debugging. A GUI can be very useful here as you can show state of each thread in a separate window, pop open a new window as threads or processes get created etc. Basically debugging distributed programming support! * A debugger language like say plan9 Acid's. With it for instance you can implement code coverage. See section 15 http://www.vitanuova.com/inferno/papers/acidpaper.html for the code coverage trick. Google "debugging with acid" to see more stuff. ups's c interpreter can be considered a debugger language. There is a good paper on a dataflow language for debugging from Brown U. http://www.cs.brown.edu/~sk/Publications/Papers/Published/mcskr-dataflow-lang-script-debug-journal/ * Better integration with testing. There are IDEs that integrate debugging with code development but I am not aware of any that integrates it well with testing. Testing is still a batch process. When a test fails, I want to dive right in, figure out what went wrong, fix it and rerun or continue! I admit I have the vaguest idea of even what this means. The dataflow lang paper refed may be relevant as it talks about automatic assertion checking etc. * There is a lot that can be done to improve debugging GUIs. For instance I'd love to see 3D use. Not for eye-candy but for better visualization. Things like as you zoom in, you see more details (zoom in on a function name and "enter" function body -- very Fantastic Voyage-ish (1966 movie) but for code!), control flow shows up as color change, the more a code path is visited the more it lights up or gets fatter, IPC is shown as a flash from one thread to another and so on. IIRC I have seen the color change idea in some verilog code coverage tools. -- bakul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100530172131.382465B04>