Python: 进程以退出码-1073741819(0xC0000005)结束。如何调试?

6

我在Windows机器上运行Python 3.7时遇到了奇怪的错误“进程以退出代码-1073741819(0xC0000005)结束”。这个进程会崩溃。错误信息出现的时间是随机的,似乎是发生在一个线程内。

有没有办法获取更多关于错误发生位置的信息?目前我的唯一解决方案是添加日志记录,但这真的很耗时间。

非常感谢任何提示。


你找到调试这个问题的方法了吗? - Tim Woocker
@TimWoocker 实际上没有办法调试它,因为进程刚刚崩溃了。但是你可以在系统事件日志中获取一些信息。这在我的情况下有所帮助。 - MichaelRazum
好的,谢谢。我可以问一下你在尝试编写什么代码吗?也许我很幸运,遇到了和你一样的问题。基本上,我正在使用ctypes运行一些代码,但是一旦我引入另一个线程,程序就会崩溃。即使一个线程什么都不做(所以它们没有同时执行任何操作)。也许你有类似的问题。 - Tim Woocker
说实话,我记不得了,但是这是由于一个坏的程序包引起的。我遇到过这种问题多次。因此,您可能需要找出哪个程序包会引起问题。 - MichaelRazum
2个回答

3
我曾经见过这种错误发生在Python脚本存在无限(或非常深的)递归时,而下面的代码用于增加递归限制:
import sys
sys.setrecursionlimit(4000)

我猜这个错误意味着我们的内存不足。


是的,我认为你是对的,错误代码来自于无限递归导致内存问题。 - Rasmus Piirtola

3

我曾经遇到过同样的问题,不久之前我通过以下解决方案解决了这个问题:

重新安装Python - 在c:\ WINDOWS \ system32中没有python33.dll

也许你有不同版本的Python - 查看根目录中的文件夹:

如果是的话,请在pyCharm>设置>项目解释器中指向你的Python.exe版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接