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