【发布时间】:2019-01-18 23:52:50
【问题描述】:
我有一个包含大约 100k 个条目的字符数组。好像在我的功能中
print *buffer 它被过早地切断了。我能做些什么来延长 gdb 将打印到控制台的字符数量吗?如果没有,我可以将此变量打印到文件中吗?我尝试使用转储命令,但似乎想不出正确的方法。
【问题讨论】:
-
从您的描述看来,您的数组实际上可能是一个指针。您在发出该命令时是否指定了要打印的长度?
-
好吧,它作为**缓冲区从调用函数传递到函数中。
-
那么 GDB 应该如何知道它有多长?
-
我发现在执行数据转储的代码中定义函数要容易得多,并且只需从 gdb 调用它们。 (将定义包装在
#ifdef DEBUG中) -
如果您正在调试生产代码,这并不容易。 ;-)