打印超长字符串或数组
# 打印超长字符串或数组
使用 gdb 时,可能会遇到打印超长字符串或数组显示不完成的问题。
例如:
// longstr.cpp
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
char str[] = "http://azmddy.top/article/;http://azmddy.top/article/%E9%80%9A%E7%94%A8%E9%A2%86%E5%9F%9F/"
"%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/C++/%E7%89%B9%E6%80%A7/"
"%E6%8C%87%E9%92%88%E5%92%8C%E6%95%B0%E7%BB%84%E7%9A%84%E5%8C%BA%E5%88%AB.html;http://azmddy.top/"
"article/%E9%80%9A%E7%94%A8%E9%A2%86%E5%9F%9F/"
"%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99%E4%B8%8E%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/";
cout << str << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
我们直接使用p str
,会发现字符串显示不全。
我们可以通过show print elements
查看字符串字符和数组元素显示的最大长度。
我们可以通过set print elements 0
关闭这个限制。这样就能打印出完成的字符串信息。
当然我们也可以设置自定义的长度,打印字符串前面一些必要的字符。set print elements 100
。
上次更新: 2022/06/17, 07:22:19