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