Pycharm 调试器立即退出 139 代码

Posted

技术标签:

【中文标题】Pycharm 调试器立即退出 139 代码【英文标题】:Pycharm debugger instantly exits with 139 code 【发布时间】:2017-12-14 10:44:58 【问题描述】:

Pycharm 2017.2.3 升级到Pycharm 2017.1.4 Pycharm 的调试器建议构建cpython(或与之相关的某事):

path/to/my/python /opt/pycharm-community-2017.1.4/helpers/pydev/setup_cython.py build_ext --inplace

在我这样做之后,Debugger 现在立即返回此错误:

进程以退出代码 139 结束(被信号 11:SIGSEGV 中断)

我发现 cpython 也有类似的问题 (https://youtrack.jetbrains.com/issue/PY-23273) 但我不能使用那里提到的解决方法,因为我错过了它建议删除的文件...... 我没有使用 cython,我希望我忽略这条关于构建它的消息..

我在 linux (SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux)

Python 2.7

【问题讨论】:

您是否尝试过创建新的调试运行配置? 是的,我做了,没有变化。 无论python版本如何,这似乎都会发生。我在尝试在 Pycharm Pro 版本的远程机器上调试代码时得到它;我使用的解释器是 python3.5,来自 anaconda 环境。禁用 PyQt(参见 re-gor 的回答)解决了这个问题。 【参考方案1】:

我已通过在 PyCharms 的调试器设置(构建、执行、部署 > Python 调试器)中禁用 PyQt compatible 选项来修复它。我没有使用PyQt,所以我没有遇到任何麻烦

【讨论】:

@Mike 不,我没有,抱歉。我从未使用过 PyQt。 我安装了 PySide2,但没有安装 PyQt。禁用PyQt compatible 对我有用,并将其设置为PySide。但是,将其设置为 PySide2 并不起作用,即使我已经安装了它 为我工作。谢谢 我在调试 PyTorch 时尝试过这个,但它没有解决我的问题【参考方案2】:

转到 pycharm -> 首选项 -> 构建、执行和部署 -> Python 调试器

复选框收集运行时类型信息以了解代码。

这为我解决了问题。

【讨论】:

这并没有解决我调试 pytorch 的问题 谢谢!这对我有用。相比之下,我尝试的其他答案(选中 Gevent 并取消选中 PyQt)并没有为我解决问题。【参考方案3】:

在更新和安装 Cython 以进行快速调试后,我在 2018.3 中遇到了同样的问题。

问题在于 gevent 库。

解决了启用Gevent compatible 选项和禁用PyQt 兼容的问题。

【讨论】:

调试 pytorch,这并没有解决问题【参考方案4】:

我确实将 Pycharm 从 2017.1.4 更改为 Pycharm EAP 2017.2,但没有任何效果。

我通过创建新的 python 虚拟环境并将默认的 Pycharm 解释器更改为它解决了这个问题。我猜这不是最快的解决方案,但至少它奏效了。

Pycharm 现在再次提出为 Cython 构建东西的建议,但现在我只是忽略它。

【讨论】:

【参考方案5】:

我同意詹姆斯的观点。

我在安装 PYQT 后遇到了和你一样的问题。在我通过 Pycharm 的“Preference->Project:your current project->Project Interpreter”卸载 pyqt 后,找到 pyqt 并按下“-”按钮,调试工作。

有趣的是,当我运行一个包含“from PyQt4 import QtGui”的脚本时。 pyqt 包自动安装。并且调试不再起作用。所以我再次卸载了pyqt并再次调试工作!

所以我认为可能有一些包 make debug not work ,你应该做的就是找到并卸载它。犯罪包通常是 pyqt、matplotlib 或类似的东西。

【讨论】:

【参考方案6】:

遇到这个问题,找了半天,都是pyqt的兼容造成的,所以我觉得解决的好办法....

卸载 pyqt 和 matplotlib 先安装pyqt 第二次安装matplotlib

那么问题就愉快的解决了。

【讨论】:

在 PyCharm 更新到 2018.3.1(专业版)后,我也遇到了同样的问题。我正在测试的代码可以在之前进行调试,但在更新后不能。卸载并重新安装 pyqt,matplotlib 工作正常。 @re-gor 解决方案曾经奏效。我重新创建了我的环境,现在我没有问题(至少有几个调试)【参考方案7】:

在我删除 pyqt5 绑定后,我的工作正常。

sudo apt-get remove python3-pyqt5

由于构建了 cpython,这并没有发生在我身上。这是因为我安装了一个不相关的程序。希望对您有所帮助。

【讨论】:

【参考方案8】:

我主要是随机启用和禁用Attach to subprocess automatically while debuggingPyQt compatible,直到找到对我来说稳定的版本。最终它稳定在Attach to subprocess automatically while debugging 启用和PyQt compatible 在自动启用。

我也关注了

 - uninstall pyqt and matplotlib
 - Fist install pyqt
 - Second install matplotlib

【讨论】:

【参考方案9】:

我和 2017.1.4 也是一样的 更新到 2017.1.5 后问题已解决

【讨论】:

【参考方案10】:

尝试清除所有断点。为我工作。还要检查你在运行而不是调试时没有问题。

【讨论】:

以上是关于Pycharm 调试器立即退出 139 代码的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Rider 调试使用 docker 容器和 docker-compose 构建的 .net 核心应用程序。容器退出代码 139

当运行错误代码 139 时,docker 立即退出

Pycharm 调试:发生错误时,程序在本地退出,但在远程可以查看变量。如何在本地激活它?

在 Pycharm 调试模式下,如何跳出我的代码而不是跳出库源?

如何使用 pycharm 调试在 docker-compose 中运行的进程

在进程退出时中断 Visual Studio