GDB also had some stuff integrated for "Reverse Debugging".  It started 
around the April '06 time frame.  I don't have any links, this is just 
from memory.  It supposedly allowed one to step a target "backward" in 
time.  That's kinda neat and a useful use of trace information.  I know 
there have been times when I have stepped and thought "Crap, what just 
happened" and wished I could unwind the state to a previous point and 
step forward again.  I know this isn't always possible if you have 
messed with hardware, but still.




David Brownell wrote
> On Wednesday 23 September 2009, Øyvind Harboe wrote:
>   
>> I don't know much about the hardware trace capabilities,
>> but I have understood that it's effectively a trace log of
>> what happened.
>>     
>
> Various kinds of events yes, like branches, data access,
> CPU state transitions and so on.  The exact events vary
> between chips; and there's a *LOT* of attention spent on
> how to limit the events that get recorded.  Without such
> pre-filtering, there'd be too much data to use...
>
>
>   
>> Wouldn't it be neat(even useful??) if it was possible to step
>> through the last N instructions?
>>     
>
> Should be pretty trivial to configure:  save *everything* into
> a circular buffer, then dump it and ignore all but the last N
> instruction events.
>
>  
>   
>> Here is what I have in mind:
>>
>> - Issue a "monitor trace 100" => we want to step through the
>> last 100 instructions.
>>
>> - You can now issue stepi to step through each of the last
>> 100 instructions.
>>     
>
> The way it's set up now is that you set things up, then
> collect the data, and finally  dump it (or save it).
> There's no GDB integration.  And I don't actually know
> for sure that it all works, anyway.  Yet!  :)
>
> There are quite a few commercial products which support
> tracing; there's stuff to be learned by seeing what they
> do.  I don't know that any integrate with their QEMU
> analogues though ... the ones I know about seem to focus
> on simulation for early development, or for providing
> cycle-accurate timings in advance of tracing cycle counts
> on the actual hardware.  For performance work, that is.
>
> - Dave
>
> _______________________________________________
> Openocd-development mailing list
> Openocd-development@lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/openocd-development
>
>   

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to