账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    gdb显示的变量信息过于复杂怎么减少?
    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中,如果你发现变量信息过于复杂,可以尝试以下几个方法来减少它们:

      1. 使用可视化工具:GDB提供了一个名为“变量图”的工具,可以帮助你理解和可视化你的程序的变量。通过使用这个工具,你可以看到每个变量的值和其在程序中的作用。

      2. 使用助记符:GDB有一个名为“帮助”或“助记符”的功能,可以帮助你记住变量名和其在程序中的用途。你可以通过在命令行中输入“gdb --help”来查看GDB的帮助文档。

      3. 使用变量列表:GDB有一个名为“变量列表”的功能,可以帮助你找到所有的变量。你可以在命令行中输入“gdb --list-variables”来查看变量列表。

      4. 使用变量搜索器:GDB有一个名为“变量搜索器”的功能,可以帮助你找到所有的变量。你可以在命令行中输入“gdb --variable-search”来查找变量。

      5. 使用符号执行:GDB可以让你使用符号执行来执行程序中的代码。这可以帮助你更快地找到变量的值。

      6. 使用变量重命名:如果你的变量名非常复杂,你可以考虑重命名它们。你可以在命令行中输入“gdb --rename-variables `来重命名变量。

      以上就是减少GDB显示的变量信息过于复杂的方法。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部