Python & clang: try ... кроме оператора не работает для ошибки сегментации (ядро сброшено) - PullRequest
1 голос
/ 15 апреля 2019

Я использую libclang в Python для создания AST некоторого исходного кода.Возникает ошибка segmentation fault(core dumped) для нескольких файлов.Затем я пробую команду в терминале clang -fmodules -fsyntax-only -Xclang -ast-dump + file.Ошибка тоже возникает.Я считаю, что лязг разбился.(Я не знаю почему, если вы знаете, как решить, пожалуйста, скажите мне).Потому что только несколько файлов вызывают эту ошибку.Я хочу игнорировать их и использовать оператор try ... кроме в python, но этот оператор не работает, эта ошибка по-прежнему возникает и код, выполняющий прерывания напрямую, вместо запуска кода в except.Как я могу удалить исходный файл, который вызывает ошибку, и продолжить создавать AST для других файлов?

1 Ответ

0 голосов
/ 15 апреля 2019

segmentation fault (core dumped) означает, что интерпретатор python полностью остановился (возможно, из-за ошибки в libclang).try...except не поймает это.

Лучше всего создать отчет об ошибке для libclang и прикрепить файл, который вызывает ошибку.

Единственный другой вариант - запустить libclang вотдельный процесс для каждого файла и игнорировать любые результаты, если процесс завершается.

...