Отладка ошибки сегментации в коде C++, вызванном из Python
У меня есть тест, который запускает скрипт Python, который вызывает код C++, где он segfaults и дамп ядра. Я пытался загрузить основной файл в GDB, используя /usr/bin/python2.6, но это просто дает мне?? для всех предметов в стеке трассировки. Как мне отладить этот основной файл?
1 ответ
Вам необходимо скомпилировать версию Python с отладочными символами. Вы можете сделать это, создав Python с ./configure --with-pydebug
, Надеюсь, вы сможете найти ошибку таким образом.
Это каким-то образом изменит внутреннее поведение Python. Если вы по-прежнему не получаете segfault таким образом, вы можете попробовать запустить ./configure CFLAGS="-O0 -ggdb3"
или даже просто ./configure CFLAGS=-ggdb3
,