9.2.8. Displaying inferred registers

You can display inferred register values interleaved with the trace data.

Note

The Inferred Registers view is only available if you are using an ARM architecture-based processor. In addition, traced instructions must be shown in the Trace tab. That is, when any of the Instructions and Instruction boundaries options is selected.

To display inferred register values in the captured trace:

  1. Select Inferred Registers from the Trace Data menu in the Analysis window.

    The inferred registers are displayed, together with instruction boundaries. Figure 9.2 shows an example.

    Note

    Instruction boundaries are displayed even if the Instruction boundaries option is not selected.

    Figure 9.2.  Example of inferred registers

    Example of inferred registers

  2. Optionally, select one or more of the following options from the from the Trace Data menu:

    Only Known Registers

    To view only those registers whose values are known.

    Only Changing Registers

    To view only those registers where the values have changed between instructions.

    Narrow Register View

    To view six registers on a line, instead of eight.

    These options are only available when Inferred Registers is selected.

Considerations when displaying inferred registers

Be aware of the following when displaying inferred registers:

  • Inferred register values are inferred from the traced instructions, and are not read from the registers. This means that not all register values are always known.

    Note

    Because the register values are inferred from the captured trace data, the inferred register values can be calculated and displayed without stopping the processor.

  • The register data is shown following the instruction opcode, and shows the values in the registers after the instruction has executed. Register data is displayed in the following way:

    • Register names are gray.

    • Unchanged register values are black.

    • Changed register values are blue.

    • Unknown register values are represented by --------. If a register value became unknown in the current cycle, this appears in blue to indicate a changed register value.

  • The amount of information that can be inferred depends on the amount of information contained in the trace. If you have not traced data, few register values can be inferred. With full data trace, most register values can be inferred.

  • When any of the Instructions and Instruction Boundaries options is selected, the inferred register values show the values contained in the registers after the instruction was executed.

  • When no instruction rows are displayed but Function Boundaries are displayed, the inferred register values shown are the values contained in the registers before the instruction at the function boundary was executed.

See also

Copyright © 2006-2010 ARM Limited. All rights reserved.ARM DUI 0322F
Non-ConfidentialID102410