Jonathan,

If you run Linux, you can download VMware, and install a version of
Windows XP or later) and download Visual Studio Express from Microsoft
for free.  You can experiment with it and see how useful it is.  It's
pretty darned amazing actually.  Once you use it, you'll always miss it.
Simple little mistakes like:

for (i=0; i<some_var; ++i)

which should've been:
for (i=0; i<(some_var-1); ++i)

can be changed on the fly.  Those simple, tiny little mistakes that are
prevalent, save so much time by going "OH MAN!" smacking your forehead,
changing it quickly, and pressing the key combo to apply changes.

It all takes 3 seconds, and you're continuing at the point in your
program where you were.

In addition, you can continue writing new code while running your app.
You write the new function, call it from some other place, set a
breakpoint, and then continue writing more code.

It's also awesome to examine the value of registers, memory variables,
then change the code quickly, apply changes, re-position the instruction
pointer, process through again, etc.

I'm amazed this hasn't already been introduced into GCC and G++.  If I
had the time to put into it, I would do it because I think this and the
commensurate abilities in GDB which would be required would move so many
developers over from Microsoft's toolsets.  Edit-and-continue is that
powerful.

- Rick C. Hodgin

On Sun, 2010-07-18 at 22:32 +0100, Jonathan Wakely wrote:
> On 18 July 2010 20:52, Rick C. Hodgin wrote:
> >
> > The idea of having function entry points across the board for all
> > executed code would be required, allowing those links to be updated
> > dynamically at run-time.  We could even use a memory-based lookup table
> > that's updated by gdb to the new entry points for the executable code.
> > It would be slower for execution, but for development the time savings
> > would be there because changes could be made on the fly, recompiled,
> > memory variables changed as needed, and then continue execution without
> > restarting the entire app.
> 
> I run the compiler a lot more than I run the debugger, so I'm not
> entirely sold on the idea of development time savings, but I haven't
> used Edit-and-Continue so I can't say how useful it is.


Reply via email to