From: cdt-dev-bounces@xxxxxxxxxxx
[mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Kai Schuetz
Sent: Monday, August 30, 2010 6:45 AM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] DSF-GDB: How to support targets which natively
support reverse execution ?
I’m trying to use reverse debugging with my target. Contrary
to some other targets it has “native” support of reverse debugging -- this
means it does not require to use “process record and replay” to do reverse
debugging.
The following bit is taken from the gdb documentation:
“The process record and replay target supports reverse
execution (see Reverse
Execution), even if the platform on which the inferior runs does not.
However, the reverse execution is limited in this case by the range of the
instructions recorded in the execution log. In other words, reverse execution
on platforms that don't support it directly can only be done in the replay
mode.”
This implies that targets exist which do directly support
reverse execution, without supporting process record and replay.
In my case reverse execution is directly supported, however
the problem is that DSF-GDB as part of its initialization is trying to switch
on record and replay by issuing the “record” gdb command (file
GDBRunControl_7_0.java line 435 and following, “enableReverseMode” method).
Since record and replay is not supported for my target the “record” command
fails, which makes DSF-GDB believe that reverse execution is not supported for
the target.
I’m not sure what the proper solution to support both types
of targets would be ?
How about issuing the “record” command, but still enable
reverse execution if the command fails ?
Thanks !
Kai