Почему в моем приложении Cython не загружаются символы отладки?

Я использую Cython для вызова API C ++ из python, и я хотел бы отладить приложение.

мой setup.py Файл структурирован следующим образом:

from distutils.core import setup
from distutils.extension import Extension
from distutils.util import get_platform
from Cython.Build import cythonize
import glob
import os

myplatform = get_platform().split("-")[0]
if myplatform[:3] == 'mac':
compile_args = ["-g", "-std=c++11", "-stdlib=libc++"]
elif myplatform == "linux":
compile_args = ["-g", "-std=c++11"]
else:
raise ValueError("Not using Unix-based OS")

extensions = [
Extension(...,
include_dirs=['/'],
extra_compile_args=compile_args,
extra_link_args=["-g"],
language='c++'
)
]
setup(
name="app name",
ext_modules=cythonize(extensions),
packages=['app_wrapper']
)

Я добавил -g флаги в попытке генерировать символы отладки. Я призываю setup.py используя следующее:

python setup.py build_ext --inplace --debug

После сборки я вызываю gdb для отладки:

~/projdir: gdb python
(gdb) run scripts/myscript.py

Когда я получаю исключение, которое пытаюсь отладить, у меня нет символов:

0x00007ffff0980c28 in ?? ()
(gdb) bt
#0  0x00007ffff0980c28 in ?? ()
#1  0x0000000104c5efa2 in ?? ()
#2  0x0000000000000000 in ?? ()

Как мне отладить этот скрипт?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector