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, (refer to Section 27.3 Values).
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 (refer to Section 27.11 Displaying Source) is displayed. Unlike
most annotations, this is output instead of the normal text which would be
output, not in addition.