python - Python & clang:try...except 语句不适用于分段错误(核心转储)
问题描述
我在 Python 中使用 libclang 来构造一些源代码的 AST。少数文件发生segmentation fault(core dumped)
错误。然后我在终端尝试命令clang -fmodules -fsyntax-only -Xclang -ast-dump + file
。错误也会发生。我相信clang崩溃了。(我不知道为什么,如果你知道如何解决它,请告诉我)。因为只有少数文件会导致此错误。我想忽略它们并在 python 中使用 try...except 语句,但是这个语句不起作用,这个错误仍然发生并且代码运行中断直接而不是在except
. 如何删除导致错误的源文件并继续为其他文件构建 AST?
解决方案
segmentation fault (core dumped)
意味着 python 解释器已完全停止(可能是因为 libclang 中的错误)。 try...except
不会抓住这个。
最好的办法是为 libclang 创建一个错误报告,并附加一个导致错误的文件。
唯一的其他选择是在每个文件的单独进程中运行 libclang,如果进程终止,则忽略任何结果。
推荐阅读
- reactjs - 使用 setState() 值不会改变,反应嵌套 API 调用
- neural-network - 调试 GAN 覆盖错误
- c# - 我可以在 ASP.NET Core 解决方案中使用 EF 6 吗?
- bash - 如何在 Bash 中转义颜色代码?
- azure - 具有多个输出到同一 EventHub 的 Azure 函数不起作用
- javascript - Jquery on click (tap/vclick/touchstart) 在真实的移动设备上不起作用
- scala - 在 Scala 中关闭套接字时拦截 Akka HTTP WebSocket 事件
- html - 无法在网站“https://qa01.pdng.pepsico.com/”的网站“https://qa01.pdng.pepsico.com/”中使用 selenium 和 java 在 Bootstrap 下拉列表(无框架)中输入电子邮件 ID 和密码
- vba - VBA Excel - 使用单个变量将多个值分配给数组
- c# - 解压 GZipStream 的问题