annotate.info: Frame Annotations

Go forward to Displays
Go backward to Value Annotations
Go up to Top
Go to the top op annotate

Frames

_Value Annotations have been removed.  GDB/MI instead provides a number
of frame commands._
   _Frame annotations are no longer available.  The GDB/MI provides
`-stack-list-arguments', `-stack-list-locals', and `-stack-list-frames'
commands._
   Whenever GDB prints a frame, it annotates it.  For example, this
applies to frames printed when GDB stops, output from commands such as
`backtrace' or `up', etc.
   The frame annotation begins with
     ^Z^Zframe-begin LEVEL ADDRESS
     LEVEL-STRING
where LEVEL is the number of the frame (0 is the innermost frame, and
other frames have positive numbers), ADDRESS is the address of the code
executing in that frame, and LEVEL-STRING is a string designed to
convey the level to the user.  ADDRESS is in the form `0x' followed by
one or more lowercase hex digits (note that this does not depend on the
language).  The frame ends with
     ^Z^Zframe-end
   Between these annotations is the main body of the frame, which can
consist of
   *      ^Z^Zfunction-call
          FUNCTION-CALL-STRING
     where FUNCTION-CALL-STRING is text designed to convey to the user
     that this frame is associated with a function call made by GDB to a
     function in the program being debugged.
   *      ^Z^Zsignal-handler-caller
          SIGNAL-HANDLER-CALLER-STRING
     where SIGNAL-HANDLER-CALLER-STRING is text designed to convey to
     the user that this frame is associated with whatever mechanism is
     used by this operating system to call a signal handler (it is the
     frame which calls the signal handler, not the frame for the signal
     handler itself).
   * A normal frame.
     This can optionally (depending on whether this is thought of as
     interesting information for the user to see) begin with
          ^Z^Zframe-address
          ADDRESS
          ^Z^Zframe-address-end
          SEPARATOR-STRING
     where ADDRESS is the address executing in the frame (the same
     address as in the `frame-begin' annotation, but printed in a form
     which is intended for user consumption--in particular, the syntax
     varies depending on the language), and SEPARATOR-STRING is a string
     intended to separate this address from what follows for the user's
     benefit.
     Then comes
          ^Z^Zframe-function-name
          FUNCTION-NAME
          ^Z^Zframe-args
          ARGUMENTS
     where FUNCTION-NAME is the name of the function executing in the
     frame, or `??' if not known, and ARGUMENTS are the arguments to
     the frame, with parentheses around them (each argument is annotated
     individually as well, *note Value Annotations::).
     If source information is available, a reference to it is then
     printed:
          ^Z^Zframe-source-begin
          SOURCE-INTRO-STRING
          ^Z^Zframe-source-file
          FILENAME
          ^Z^Zframe-source-file-end
          :
          ^Z^Zframe-source-line
          LINE-NUMBER
          ^Z^Zframe-source-end
     where SOURCE-INTRO-STRING separates for the user's benefit the
     reference from the text which precedes it, FILENAME is the name of
     the source file, and LINE-NUMBER is the line number within that
     file (the first line is line 1).
     If GDB prints some information about where the frame is from (which
     library, which load segment, etc.; currently only done on the
     RS/6000), it is annotated with
          ^Z^Zframe-where
          INFORMATION
     Then, if source is to actually be displayed for this frame (for
     example, this is not true for output from the `backtrace'
     command), then a `source' annotation (*note Source Annotations::)
     is displayed.  Unlike most annotations, this is output instead of
     the normal text which would be output, not in addition.