Предполагается, что возможно отладить проект Python3 / Cython с использованием gdb после сборки gdb из исходного кода, если вы настроите его с python2 .7, как указано в документе Cython отладки .
Однако, пример в документации:
- иногда нечеткий (например, код должен быть собран с python3, а отладчик - с python2, но я обнаружил, что
python-gdb
на самом деле связан на python2
... так как это работает?) - является неполным (некоторые шаги покрыты блоками кода, другие смутно упоминаются в тексте)
- не согласовано (например, ссылки на оба
source.pyx
и myfile.pyx
)
Более того, он:
- не учитывает использование виртуальных сред
- , по-видимому, предполагает
main
функция находится в .pyx (но моя находится в обычном main.py
) - не указывает, что делать, если ваши файлы находятся в разных каталогах (например, как
main.py
и cythonCode.pyx
делать)
Может кто-нибудь объяснить, пожалуйста (предварительно с рабочим примером) как отладить проект Python3 / Cython в ситуации, включающей все три упомянутые точки?
На данный момент кажется, что я действительно могу заставить DDD работать после этого Вики-статья Cython , но потом я обнаружил, что это «старый» способ сделать это, и он ссылается на текущий документ по отладке, с которым я также связан. Однако на данный момент мне неясно, как функционирует «новый» метод (старый имеет больше смысла для меня), и, безусловно, кажется, что заставить его работать более сложно.