134
CHAPTER2 Dependence Functions
2.3.7.3 Notes on Use of Tracing Function

This section describes the precautions to observe when displaying or searching for

trace data.

Notes on Trace Function

When the emulator debugger is in use, tracing is enabled by the following:
Output address information at fetching branch instruction
For these reasons, note the following points when displaying and searching trace data
Since address information is not output immediately after executing a program until the branch
instruction being executed, trace data may not be established on the program executing side.
When displaying disassembly, data is read from memory and processed. Therefore, the displayed data
may not be correct if the instruction is rewritten after code fetching.
When specifying a starting frame number for searching data, an instruction longer than 2 bytes (LDI:
32, LDI: 20 instructions) may not be displayed correctly when the instruction starting address is not
specified.
In the real-time mode, partial omission of trace data may occur under the following conditions (Output
trace omission information instead) because of the real-time operation.
- When branching occurs more than three times within 11 cycles.
- When data tracing occurs more than three times in succession.
The address is not displayed until the first branching information is found, because the trace data
immediately before starting execution has been overwritten.
If a break occurs under conditions such as the following combination of break points has been set up in
sequence at continuous addresses (code addresses of factors in case of data event), the trace data
immediately before the break is not displayed correctly.
- When break points set in sequence from software break to either one of I-group breaks at continuous
addresses.
- When break points set in sequence from either one of I-group breaks to either one of I-group breaks
at continuous addresses.
Reference:
The I-group breaks here means the following breaks:
Hardware break
Code event break
Data event break
This occurs because the address next to the actual break factor address is detected as a break
cause simply by such next address being pre-fetched.