For those of you who aren't aware of this, MS-Visual C++ 6.0 and the earlier
MS Macro Assemblers also had primitive edit and continue. You could edit
code lines and change the value of scaler variables (stack and register
based). I would think that in a "managed" environment such as .NET, Edit
and Continue would be the de-facto debugging standard. .NET's managed
memory and CRL intermediate code make this an ideal environment for Edit and
Continue. The basic implementation would be to mark "source code
statements" in the CRL and replace them as blocks when the source is
changed. You can dump references to objects when the object value is
changed. In either case, you're simply orphaning data in the debugger and
the garbage collector will clean up after you. Obviously, there will be
instances where edit and continue features simply cannot work - warn the
user and let them make the choice to keep the edits or continue with the old
code.
This is a huge oversight by MS to not realize that this is a programmer
productivity enhancer and include this as a fundamental feature of the IDE.
Is this feature hard to implement - yes. But having worked both with and
without edit and continue debuggers, it's worth its weight in gold when
debugging long tasks. For short programs, it doesn't make that much
difference because the restart time isn't too bad.
Mike.
"Herfried K. Wagner [MVP]" <hi************ ***@gmx.at> wrote in message
news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
* "Cor Ligthert" <no**********@p lanet.nl> scripsit: You have obviously never used this feature when debugging. When
running a long program that is crashing near the end of the program, being able
to edit and continue is a major productivity enhancer.
You do mean that all people (not only me) who already are using VB2002
and VB2003 for a long time now are improductive developper?
Not necessarily, but with edit & continue debugging experience is much
better and faster debugging/development is possible.
--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>