【问题标题】:Pretty printing with GDB failes to show container values使用 GDB 进行漂亮打印无法显示容器值
【发布时间】:2013-12-19 12:12:08
【问题描述】:

我有 Ubuntu 13.10 和 GDB 7.6.1,我从 http://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/ 下载了 STL_pretty_printers 并按照说明运行。

当我第一次运行 gdb 时,我收到一条 python Traceback 消息,上面写着:

raise ValueError , "Cannot parse more than 2 nodes in a tuple tree."

在修改了一些代码后,我发现所有 raise ValueError 行都应该更改为

raise ValueError("Cannot parsing more than 2 nodes in a tuple tree.")

之后我尝试运行一个小型测试程序(填充向量),当我尝试显示向量的内容时,我得到了

Python Exception iter() 返回了 '_iterator' 类型的非迭代器:

【问题讨论】:

    标签: c++ python stl gdb cython


    【解决方案1】:

    我尝试搜索解决方案无济于事,由于某种原因,python 告诉我 _iterator 类不支持“python iterator protocol”。在无缘无故拉了一些头发之后,我决定尝试维护“Cython Iterator Protocol”。

    由于某种原因......它有效!

    所以

    如果你遇到同样的问题,这里是stl_pretty_printers for Cython的github

    我还是想找出这个问题发生的原因,如果有人有想法请在这里回复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-12
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多