【发布时间】:2012-07-21 07:20:53
【问题描述】:
我已经按照on the GDB wiki 的说明安装了用于查看 STL 容器的 python 漂亮打印机。我的~/.gdbinit 现在看起来像这样:
python
import sys
sys.path.insert(0, '/opt/gdb_prettyprint/python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
但是,当我运行 GDB 并尝试打印 STL 类型时,我得到以下信息:
print myString
Python Exception <class 'gdb.error'> No type named std::basic_string<char>::_Rep.:
$3 =
任何人都可以对此有所了解吗?我正在运行 GDB 7.4 附带的 Ubuntu 12.04。
【问题讨论】:
-
可能只是C++库改变了它的内部类型和成员变量,而Python模块没有跟上。
-
能否请您粘贴更多信息,例如 C++ 源代码、编译器选项等?我刚刚在 Ubuntu 12.04 上测试了它,它对我有用。
-
在 CEntOS 7 上为我工作。当你启动 gdb 时,一个潜在的错误是正确的。它可能会打印一个您可能错过的 python 错误。
-
(advertisement) 我不喜欢默认的漂亮打印机
libstdcxx,所以I made some modifications。
标签: c++ linux debugging stl gdb