Callstack Window

Debug ›› Debug Windows ››
Parent Previous Next

Callstack window offers an overview of current call stack.

Callstack information can be obtained by three different methods, which are available in Debug / Files for download / Properties / Advanced / Call Stack Generation. The automatic setting is normally the best and should only be changed when troubleshooting the callstack display. The available options are:

using debug_frame - relies on compiler generated instructions which are extracted from ELF file .debug_frame section. This is the preferred method of generating the call stack.

EABI - some architectures make it possible to obtain callstack information based on the call frame structure which is defined in EABI.

Simulated - if previous methods fail it is possible to obtain callstack information by simulating and reverse-engineering the function prologues. Newer generations of compilers often optimize the code to the point where this method is no longer possible.

Note: If you are experiencing issues with the callstack display, check the compiler manual for any relevant compiler switches. Compilers might optimize the code to an extent that the callstack information is no longer available.

Toolbar

Toolbar offers five buttons:

Set Window Options

Opens Callstack window options dialog.

View Source line information

Toggles the display of source lines.

Set Context

Sets context of the chosen call stack item.

Reseed Stack

Seeds the stack with the specified pattern.

Stack Usage Options

Opens the stack usage configuration dialog.


Call stack

Shows the current call stack contents. Double click on the item on the call stack will automatically set context for that specific item. The call stack view is divided in two columns - Name and Source line column.


Name column holds the name and the return type of the function from which the next function on the call stack was called. In case macros were used to define this function, function name will be displayed. Optionally the source lines surrounding the function call are displayed. In case a macro function was called, macro call will be in the displayed source lines.


Source line column holds the information about the location (line number and the source file) of the source line.


Usage bar

The usage bar displays:

Maximum usage - the shaded area

Current stack pointer position - the vertical line in the bar

Numerical - Current Usage / Maximum Usage / Total Size


Note: Stack usage is displayed when the CPU is stopped.



Read more:

Callstack Window Options