Announcing PathDB

Bakul Shah bakul at bitblocks.com
Sun May 30 17:21:35 UTC 2010


[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 at 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 at ups.cvs.sourceforge.net:/cvsroot/ups login 
    cvs -z3 -d:pserver:anonymous at 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


More information about the freebsd-hackers mailing list