调试 Cython 时打印变量时出错
Error printing variables while debugging Cython
我正在尝试使用 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 中打开了一个问题(感谢@hygorxaraujo!),它被确定为一个缺陷:
https://github.com/cython/cython/issues/2699
欢迎请求请求!
我正在尝试使用 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 中打开了一个问题(感谢@hygorxaraujo!),它被确定为一个缺陷:
https://github.com/cython/cython/issues/2699
欢迎请求请求!