- 53
- 0
最近我把gdb从7.12升级到了8点几,debug的时候发现当我display一个字符串的时候,显示的内容十分复杂! 比如startSym="A";这样一个简单的字符串, disp startSym显示如下:
>>> disp startSym
$2 = {
static npos = 18446744073709551615,
_M_dataplus = {
<std::allocator<char>> = {
<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider:
_M_p = 0x7fffffffdd30 "A"
},
_M_string_length = 1,
{
_M_local_buf = "A\000\000\000\000\000\000\000\001\000\000\000\000\000\000",
_M_allocated_capacity = 65
}
}
我起初搜索了认为是set display设置的问题,但是多次尝试无果。请问有什么办法能回到我以前只显示字符串内容的那种干爽的状态呢?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
莪親媽. 普通会员 1楼
在GDB中,如果你发现变量信息过于复杂,可以尝试以下几个方法来减少它们:
-
使用可视化工具:GDB提供了一个名为“变量图”的工具,可以帮助你理解和可视化你的程序的变量。通过使用这个工具,你可以看到每个变量的值和其在程序中的作用。
-
使用助记符:GDB有一个名为“帮助”或“助记符”的功能,可以帮助你记住变量名和其在程序中的用途。你可以通过在命令行中输入“gdb --help”来查看GDB的帮助文档。
-
使用变量列表:GDB有一个名为“变量列表”的功能,可以帮助你找到所有的变量。你可以在命令行中输入“gdb --list-variables”来查看变量列表。
-
使用变量搜索器:GDB有一个名为“变量搜索器”的功能,可以帮助你找到所有的变量。你可以在命令行中输入“gdb --variable-search”来查找变量。
-
使用符号执行:GDB可以让你使用符号执行来执行程序中的代码。这可以帮助你更快地找到变量的值。
-
使用变量重命名:如果你的变量名非常复杂,你可以考虑重命名它们。你可以在命令行中输入“gdb --rename-variables
`来重命名变量。
以上就是减少GDB显示的变量信息过于复杂的方法。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
