退出代码为139的过程结束(信号11:SIGSEGV中断)
我正在尝试执行Python脚本,但出现以下错误:
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
我在Linux Mint 18.1 Serena OS上使用python 3.5.2
谁能告诉我为什么会这样,我该如何解决?
回答:
SIGSEGV信号指示“分段违反”或“分段错误”。或多或少,这等同于对该过程中未映射的内存地址的读取或写入。
这表明程序中存在错误。在Python程序中,这可能是解释程序中的错误,也可能是所使用的扩展模块中的错误(后者是最常见的原因)。
要解决此问题,您有几种选择。一种选择是产生一个最小的,独立的,完整的示例,该示例复制问题,然后将其作为错误报告提交给它使用的扩展模块的维护者。
另一种选择是尝试自己找出原因。
gdb在这种情况下是一种有价值的工具,Python的调试版本以及正在使用的所有扩展模块也是如此。
安装gdb后,可以使用它运行Python程序:
gdb --args python <more args if you want>
然后使用gdb命令查找问题。如果使用,run
则程序将运行直到崩溃为止,您将有机会使用其他gdb命令检查状态。
以上是 退出代码为139的过程结束(信号11:SIGSEGV中断) 的全部内容, 来源链接: utcz.com/qa/416800.html