5.2 Examining the call stack

The call stack, or runtime stack, is an area of memory used to store function return information and local variables. As each function is called, a record is created on the call stack. This record is commonly known as a stack frame.

The debugger can display the calling sequence of any functions that are still in the execution path because their calling addresses are still on the call stack. However:

  • When a function completes execution the associated stack frame is removed from the call stack and the information is no longer available to the debugger.

  • If the call stack contains a function for which there is no debug information, the debugger might not be able to trace back up the calling stack frames. Therefore you must compile all your code with debug information to successfully view the full call stack.

If you are debugging multi-threaded applications, a separate call stack is maintained for each thread.

Use the Stack view to display stack information for the currently active connection in the Debug Control view. All the views in the DS-5 Debug perspective are associated with the current stack frame and are updated when you select another frame. See 11.8 Stack view for more information.

Figure 5-2 Stack view showing information for a selected core
Stack view showing information for a selected core

Non-ConfidentialPDF file icon PDF versionARM 100953_0527_00_en
Copyright © 2010–2017 ARM Limited or its affiliates. All rights reserved.