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.
All the views in the DS-5 Debug perspective are associated with the current stack frame and are updated when you select another frame. The current stack frame is shown in bold text.
Figure 5-2 Debug Control view
Debug Control view

Related concepts
6.9 About debugging shared libraries
6.10.2 About debugging a Linux kernel
6.10.3 About debugging Linux kernel modules
Related reference
3.2 Running, stopping, and stepping through an application
5.1 Examining the target execution environment
3.12 Handling UNIX signals
3.13 Handling processor exceptions
Non-ConfidentialPDF file icon PDF versionARM DUI0446W
Copyright © 2010-2015 ARM. All rights reserved.