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
只会给出地址这些对于调试不直观的信息。
解决方法:
- 安装python2.7和python-gdb
$> sudo apt-get install python2.7
$> sudo apt-get install gdb python2.7-dbg
- 下载Python libstdc++ printers代码
$> mkdir ~/python_printer
$> cd ~/python_printer
$> svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python //需要提前安装svn
- 修改并添加以下脚本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
标签:svn,...,code,STL,libstdcxx,python,gdb,printers 来源: https://www.cnblogs.com/tzg2021/p/14335020.html