How do I print the full value of a long string in gdb? How do I print the full value of a long string in gdb? c c

How do I print the full value of a long string in gdb?


set print elements 0

From the GDB manual:

set print elements number-of-elements
Set a limit on how many elements of an array GDB will print. If GDB is printing a large array, it stops printing after it has printed the number of elements set by the set print elements command. This limit also applies to the display of strings. When GDB starts, this limit is set to 200. Setting number-of-elements to zero means that the printing is unlimited.


As long as your program's in a sane state, you can also call (void)puts(your_string) to print it to stdout. Same principle applies to all functions available to the debugger, actually.


The printf command will print the complete strings:

(gdb) printf "%s\n", string