Output Formats (Debugging with GDB)By default, GDB prints a value according to its data type. Sometimes this is not what you want. For example, you might want to print a number in hex, or a pointer in decimal. Or you might want to view data in memory at a certain address as a character string or as an instruction. To do these things, specify an output format when you print a value.
Currently, when I print the value of a variable v in GDB (print v) I get an integer. Is it possible to have GDB print such integer variables in hexadecimal or binary?
Print as an address, both absolute in hexadecimal and as an offset from the nearest preceding symbol. You can use this format used to discover where (in what function) an unknown address is located: (gdb) p/a 0x54320 $3 = 0x54320 <_initialize_vx+396>
Variables and memory print/format <what> Print content of variable/memory locati-on/register. display/format <what> Like „print“, but print the information after each stepping instruction.
Format If specified, allows overriding the output format used by the command. Valid format specifiers are: o - octal x - hexadecimal d - decimal u - unsigned decimal t - binary f - floating point a - address c - char s - string i - instruction The following size modifiers are supported: b - byte h - halfword (16-bit value) w - word (32-bit value)
By default, GDB prints a value according to its data type. Sometimes this is not what you want. For example, you might want to print a number in hex, or a pointer in decimal. Or you might want to view data in memory at a certain address as a character string or as an instruction. To do these things, specify an output format when you print a value.
You can always enter numbers in octal, decimal, or hexadecimal in GDB by the usual conventions: octal numbers begin with ‘ 0 ’, decimal numbers end with ‘. ’, and hexadecimal numbers begin with ‘ 0x ’.
By default, GDB prints a value according to its data type. Sometimes this is not what you want. For example, you might want to print a number in hex, or a pointer in decimal. Or you might want to view data in memory at a certain address as a character string or as an instruction. To do these things, specify an output format when you print a value.