微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VS code 安装后gdb调试无法显示STL内容的问题

bar {...} std::_Vector_base<TSample<MyTraits>, std::allocator<TSample<MyTraits> > > _M_impl {...} std::allocator<TSample<MyTraits> > {...} _M_start 0x00007ffff7fb5010 _M_finish 0x00007ffff7fd4410 _M_end_of_storage 0x00007ffff7fd5010
只会给出地址这些对于调试不直观的信息。

解决方法

  1. 安装python2.7和python-gdb
$> sudo apt-get install python2.7
$> sudo apt-get install gdb python2.7-dbg
  1. 下载Python libstdc++ printers代码
$> mkdir ~/python_printer
$> cd ~/python_printer
$> svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python //需要提前安装svn
  1. 修改添加以下脚本gdb配置文件~/.gdbinit,如果没有就创建一个。这个以我的为例:
python
import sys
sys.path.insert(0, '/home/tzg/python_printer/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

参考链接http://pengx17.github.io/cpp/2014/02/24/gdb-stdcpp

原文地址:https://www.cnblogs.com/tzg2021/p/14335020.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐