在调试Cython时出错打印变量

时间:2018-10-04 21:58:22

标签: python gdb cython pdb gdb-python

我正在尝试使用gdb调试一些Cython代码,该代码包装了要从Python调用的C ++代码。我遵循了documentation中的说明,但是在调试时遇到了一些与代码无关的错误。示例:

(gdb) cy print some_variable
Python Exception <type 'exceptions.AttributeError'> 'PyDictObjectPtr' object has no attribute 'items':
Error occurred in Python: 'PyDictObjectPtr' object has no attribute 'items'

有时我也会得到这个(通常在第一个之后):

Python Exception <class 'gdb.error'> There is no member named ob_sval.:
Error occurred in Python command: There is no member named ob_sval.

要调试代码,我使用Docker创建了一个环境:

FROM debian

RUN apt-get update && apt-get upgrade -y && apt-get install -y \
  build-essential gdb-python2 python-dbg python-dev \
  python-pip python-numpy-dbg

RUN pip install cython pygments

CMD bash

我在cython用户google组中找到了两个related posts,但没有答案。

1 个答案:

答案 0 :(得分:2)

终于在Cython中打开了一个问题(感谢@hygorxaraujo!),它被确定为缺陷:

https://github.com/cython/cython/issues/2699

欢迎拉动请求!