我在Python中使用libclang构造一些源代码的AST。少数文件发生segmentation fault(core dumped)错误。然后,在终端clang -fmodules -fsyntax-only -Xclang -ast-dump + file中尝试命令。错误也会发生。我相信叮当声崩溃了。 (我不知道为什么,如果您知道如何解决,请告诉我)。因为只有很少的文件导致此错误。我想忽略它们并在python中使用try ... except语句,但是此语句不起作用,仍然会发生此错误,并且代码直接运行中断而不是在except中运行代码。如何删除导致错误的源文件并继续为其他文件构造AST?

最佳答案

segmentation fault (core dumped)表示python解释器已完全停止(可能是因为libclang中的错误)。 try...except不会抓住这个。

最好的选择是为libclang创建一个错误报告,并附加一个导致错误的文件。

唯一的其他选择是在每个文件的单独进程中运行libclang,如果进程终止,则忽略任何结果。

10-06 05:22
查看更多