| Debugging with GDB | www.imodulo.com · 2003-04-05 | ||
| [ Software | Documentation | Contact ] |
When a value is printed in various contexts, GDB uses annotations to delimit the value from the surrounding text.
If a value is printed using print and added to the value history, the annotation looks like
^Z^Zvalue-history-begin history-numbervalue-flagshistory-string ^Z^Zvalue-history-value the-value ^Z^Zvalue-history-end
where history-number is the number it is getting in the value history, history-string is a string, such as $5 =, which introduces the value to the user, the-value is the output corresponding to the value itself, and value-flags is * for a value which can be dereferenced and - for a value which cannot.
If the value is not added to the value history (it is an invalid float or it is printed with the output command), the annotation is similar:
^Z^Zvalue-begin value-flagsthe-value ^Z^Zvalue-end
When GDB prints an argument to a function (for example, in the output from the backtrace command), it annotates it as follows:
^Z^Zarg-begin argument-name ^Z^Zarg-name-end separator-string ^Z^Zarg-value value-flagsthe-value ^Z^Zarg-end
where argument-name is the name of the argument, separator-string is text which separates the name from the value for the user's benefit (such as =), and value-flags and the-value have the same meanings as in a value-history-begin annotation.
When printing a structure, GDB annotates it as follows:
^Z^Zfield-begin value-flagsfield-name ^Z^Zfield-name-end separator-string ^Z^Zfield-value the-value ^Z^Zfield-end
where field-name is the name of the field, separator-string is text which separates the name from the value for the user's benefit (such as =), and value-flags and the-value have the same meanings as in a value-history-begin annotation.
When printing an array, GDB annotates it as follows:
^Z^Zarray-section-begin array-indexvalue-flags
where array-index is the index of the first element being annotated and value-flags has the same meaning as in a value-history-begin annotation. This is followed by any number of elements, where is element can be either a single element:
,whitespace ; omitted for the first elementthe-value
^Z^Zelt
or a repeated element
,whitespace ; omitted for the first elementthe-value
^Z^Zelt-rep number-of-repititionsrepetition-string
^Z^Zelt-rep-end
In both cases, the-value is the output for the value of the element and whitespace can contain spaces, tabs, and newlines. In the repeated case, number-of-repititons is the number of consecutive array elements which contain that value, and repetition-string is a string which is designed to convey to the user that repitition is being depicted.
Once all the array elements have been output, the array annotation is ended with
^Z^Zarray-section-end
| © Free Software Foundation, Inc. |