![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
More on Frame ReferencesExecution of block-structured, procedural languages such as Ada and C/C++ involves the stacking of activations of subprograms (Ada) or functions (C/C++) and blocks. When a subprogram is called, a stack frame (or, simply, a frame) is pushed on the stack of the task executing the call. The frame contains the values of local variables and parameters to the subprogram (Ada) or function (C/C++).
Information available from each frame includes the values of local objects (such as variables, packages, tasks, functions, classes) declared in that frame, parameters to that call, and the name of the subprogram (Ada) or function (C/C++) that is executing with that frame as its context. Because subprogram (Ada) or function (C/C++) calls can be recursive and because different tasks can execute the same subprograms, it is necessary to specify a task and a specific frame in order to examine a specific local variable or parameter of a subprogram (Ada) or function (C/C++).
The Stack window displays the stack of the current task or program. Note that when a program consists of multiple tasks, each task maintains its own stack. The user can display the stack for a particular task by selecting the task in the Tasks window.
Note: The call stack can also be displayed and traversed either directly from the Source window or by entering one of call stack commands on the Command Line Pane. The call stack commands and operations are described in Using the Apex Debugger.
Rational Software Corporation http://www.rational.com support@rational.com techpubs@rational.com Copyright © 1993-2001, Rational Software Corporation. All rights reserved. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |