Trace-based Debugging (CTS)

The embedded tools company
Forward and backward debugging of traced program section
High-level analysis
Filling the trace gaps

Trace-based Debugging (CTS)
Allows re-debuggging of a traced program section
Provides forward and backward debugging capabilities
High-level language trace display including all local variables
Timing and function nesting display
Has the ability to fill most trace gaps caused by the limited bandwidth of trace port
In the past it was necessary to spend a lot of time analysing the trace listing in order to find out which instructions, data or system states had caused malfunctioning of the target system.

Now Trace-based Debugging - CTS for short - allows the user to recreate the state of the target system at a selected point based on the information sampled in the trace buffer. From this starting point the program steps previously recorded in real-time in the trace memory can be debugged again in TRACE32 PowerView GUI.

Download full document
( 132k)



Standard Trace-based Debugging requires:

  • Continuous instruction flow trace
  • Continuous data flow trace (at least read accesses)

Forward and backward debugging of traced program section

Any record in the trace can be selected as starting point for Trace-based Debugging.

As soon as the starting point is selected TRACE32 reconstructs in its GUI the context of the target system as it was when the instruction at the
starting point was executed.

When the reconstruction is finished the program steps previously recorded in real-time in the trace memory can be debugged again in TRACE32 PowerView.

The following debugging commands are available for forward debugging:

  • Single step
  • Step over call
  • Go to the next instruction
  • Go to the end of the current function
  • Return to the caller function

The following debugging commands are available for backward debugging:

  • Single step back
  • Step back over call
  • Go to the entry of the current function

High-level analysis

Trace display including all local variable

The fact that TRACE32 can reconstruct the register and memory contents for any trace sampling points allows the user to display a full high-level language trace including all register and stack variables.

Function nesting display

Function run-time timing display


Filling the trace gaps

If more trace information is generated than the trace interface can output, trace information can be lost. The result are trace gaps

The Trace-based Debugging technology enables TRACE32 to fill in most of these gaps. These records are marked as "s"ynthetically reconstructed (exes instead of exec in the example above).

Copyright © 2016 Lauterbach GmbH, Altlaufstr.40, D-85635 Höhenkirchen-Siegertsbrunn, Germany  Impressum
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 16-Dec-2016