ARM Technical Support Knowledge Articles

Why does the 'Synchronised' trace view only allow me to synchronise trace output with the disassembly window and not the source window?

Applies to: ARM Developer Suite (ADS), Trace Debug Tools (TDT)

Answer

The nature of synchronisation is determined by the area of code most recently in focus. To illustrate this, consider the 'dhrystone' project supplied with ADS as an example. This executes in three stages:

  1. Library & initialization code that branches to main
  2. Main 'C' code that is built with debug information
  3. Program termination - control passed to debugger via a semihosting SWI]

Note that sections 1 & 3 have no debug information associated with them, thus it is NOT possible to perform source code debug on these sections.

If you perform a simple trace capture on this program and allow dhrystone to terminate you will notice that synchronisation of the trace window is ALWAYS with the 'Disassembly' window, even when you are scrolling through the trace capture from the main 'C' code (section 2). This is because the debugger's most recent point of focus in the image was at the point of program termination (where no debug information was available).

There are two ways to force the source synchronisation view:

  1. Place a breakpoint on the last 'C' source statement (in this case the closing '}' of the 'main()' function) the debugger will then halt with focus still on a point in the image where debug information is available. You will see that synchronisation will be tied to the source code window rather than the disassembly window.
  2. Alternatively, if you are writing your own application initialisation and termination code you can choose to build this with debug information enabled to achieve the same functionality.

Article last edited on: 2008-09-09 15:47:32

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential