如何在 gdb 中打印长字符串的完整值?

2021-12-14 00:00:00 string debugging c gdb c++

我想在 GDB 中打印 C 字符串的全长.默认情况下它是缩写的,如何强制 GDB 打印整个字符串?

解决方案

set print elements 0

来自 GDB 手册:

设置打印元素元素数量

<块引用>对数组 GDB 将打印的元素数量设置限制.如果 GDB 正在打印一个大数组,它会在打印 set print elements 命令设置的元素数后停止打印.此限制也适用于字符串的显示.当 GDB 启动时,此限制设置为 200.将 number-of-elements 设置为零意味着打印不受限制.

I want to print the full length of a C-string in GDB. By default it's being abbreviated, how do I force GDB to print the whole string?

解决方案

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.

相关文章