minimialist engineering
Over-correcting can sometimes show how far we’ve swung into the land of hyperbole and over-engineering.
I started a few projects when I was staying with Graveley back in the first part of this year. One we started/worked on together, and a couple of others were solo. One of the solo projects was MNDB.
Originally this stood for “Mono Native Debugger” and it was mostly a crazy sounding manifesto full of condemnation of the lack of a functioning debugger for mono, and plans for how to rectify this. The manifesto still exists, but needs a little *ahem* polishing up before I make it public. The current state of the code itself, however, is worthy of a post. Also, I showed it to a few people at the moonlight summit this past week and they suggested I check it into svn, which I have. Check it out, tell me how crazy I am..
While “Mono Native Debugger” is still applicable, I think “Minimalist Debugger” is a little more appropriate. It’s just the barebones that I need to set breakpoints on method entry, use “next”, and (soon) print things out. A console log of a small test can be seen here (the grayed out portions are gdb output and debug spew). It doesn’t use cecil, it doesn’t support generics, it doesn’t do most things that the mono debugger does. But, as far as I can tell, what’s there works. And weighing in at 519 lines of gdb macros, it’s a hell of a lot easier to understand ![]()