morning all,
On 2007-12-08 21:08:29, Mathieu Bouchard matju@artengine.ca appears to have written:
On Sat, 8 Dec 2007, Andrew Brouse wrote:
An old-school hacker (poet turned progammer, classic!) once told me that he used to debug his programmes (on mainframes, with not even 1M of memory) by actually just watching a display of activity in all memory locations. After a while, he just subconsciously internalised what was going on and managed to debug the code.
This can't possibly be used nowadays, but there are better ways of visualising code. Because C values are typed, you can (to a certain extent), view the data topologically, by following pointers, which get drawn like arrows that are connecting boxes containing data. This is what DDD does (it's a GDB wrapper). This is more useful because the positions in memory are somewhat meaningless, because the connectedness of the data happens because the program follows pointers rather than using any arithmetic other than for a single array or struct.
In fact, i recently spent about 2 days chasing a bug in some old code of mine that i only managed to track down by looking at the literal memory positions, and if I had had a spiffy blinky pseudo-analogue StarTrek kind of data display, I probably would have seen the bug immediately, whereas it took me the said 2 days using ddd.... oh well ;-)
marmosets, Bryan (philosopher-turned-hacker)