[fpc-pascal] Re: setting variables with DWARF in gdb

Jonas Maebe jonas.maebe at elis.ugent.be
Sat Oct 30 13:27:29 CEST 2010


On 30 Oct 2010, at 13:07, Graeme Geldenhuys wrote:

> On 30 October 2010 11:26, Jonas Maebe <jonas.maebe at elis.ugent.be> wrote:
>> 
>> Reverse execution is a new feature that was added to gdb 7.0, although you probably want to use 7.2 for the extra bug fixes. The supported targets are listed at http://www.gnu.org/software/gdb/news/reversible.html (nobody has added support for Windows yet) and the instructions on how to use it are on the wiki page linked from that page.
> 
> That's not exactly what I meant. I remember back in Delphi 7 (maybe
> even as far back as D5), that I changed the execution point, so it can
> re-execute a procedure but with different values - no need to
> recompile or restart the application.

Reverse execution does not involve recompiling nor restarting the application either.

> Delphi 2010 has improved on that by simply dragging and dropping the
> execution point while in debug mode. I did some googleing and remember
> I fiddled with the CPU registers to accomplish what I did, but
> couldn't remember what registers.
> 
> Google found my exact answer. I see I can modify the CPU registers in
> MSEide, but I don't think this is possible with Lazarus IDE. Just
> tried, and it seems to work in MSEide - I'll do more testing to
> confirm. The register in question was EIP.

Simply changing EIP is less safe that reverse execution, because it does not roll back changes to memory or other registers that may be important.


Jonas


More information about the fpc-pascal mailing list