Mac*_*rel 2 c++ python linux gdb stl
我按照STL支持工具发现它不能在我的系统上运行.我使用gnome Ubuntu 14.04.我试过这个:
(gdb) p vct
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
$1 = std::vector of length 20, capacity 32
Run Code Online (Sandbox Code Playgroud)
它抛出了"TypeError",只有打印长度和容量.我的g ++和gdb版本:
g++ --version
g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2
gdb --version
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
Run Code Online (Sandbox Code Playgroud)
我的.gdbinit:
python
import sys
sys.path.insert(0,'/home/james/bin/gdb_printers/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Run Code Online (Sandbox Code Playgroud)
请帮帮我,非常感谢你.
sys.path.insert(0,'/home/james/bin/gdb_printers/python')
你是怎么得到的/home/james/bin/gdb_printers/python?
假设您在wiki上遵循(不准确)指令,并执行此操作:
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
Run Code Online (Sandbox Code Playgroud)
你现在有漂亮的打印机,匹配最新的 libstdc++来源(又名"后备箱"),而你libstdc++自己已经超过一年了,来自gcc-4.8.
要获得正确的漂亮打印机,您需要从匹配的gcc分支中获取它们.我相信正确的命令是:
svn co svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch/libstdc++-v3/python
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |