【问题标题】:Python Code Crashes with 'Pythonw.exe stopped working' but Works Fine in Debug ModePython 代码因“Pythonw.exe 停止工作”而崩溃,但在调试模式下工作正常
【发布时间】:2012-08-26 21:45:59
【问题描述】:

我正在处理一个奇怪的问题。我有一些用 Python 编写的大量代码。当我使用 PyCharm 在调试模式下运行它时,它工作正常。但它在 Python IDLE 和 PyCharm IDE 的运行模式下崩溃,并出现一个 Windows 对话框,显示“Pythonw.exe 停止工作”。

我在 Windows 7 32 位中使用 Python 2.6.6,并将 PyCharm 2.5 作为我的 IDE。

提前致谢。

【问题讨论】:

  • 你能告诉我们导致 Python 崩溃的代码吗?

标签: python debugging pycharm


【解决方案1】:

这有点不寻常,您是否使用了任何可能导致崩溃的扩展(用 C 编写)?

如果您可以从崩溃的进程中获取堆栈跟踪,您应该能够查看它是否在外部模块或 python 附带的东西中崩溃。 您也可以尝试升级到最新的 2.7 版本的 python。如果它真的是 python 中的一个错误,那么它有可能在最新版本中得到修复。

要尝试的另一件事是尝试使用 PyPy、jython、IronPython(前提是您不需要在这些平台上不可用的扩展)和其他操作系统上运行它,这可能会帮助您找出问题所在出问题。

另外,就像 Blender 已经说过的那样,如果您可以发布一些导致问题的代码,人们也许可以帮助找到问题。

没有更多信息,很难给出更好的建议。

更新: 刚刚看了你提到的pythonocc。看起来它使用了很多 c/c++ 代码,因此在其他 python 实现或版本上对其进行测试可能效果不佳。 由于这似乎是某个地方的错误,我建议联系 pythonocc 人员尝试描述您的问题,并希望他们能解决它。

【讨论】:

  • Tnx 亲爱的马蒂亚斯;我使用 PythonOCC 模块,它是 Python 类中提供的 CAD 内核。这对我来说真的很不寻常。我不知道任何获取跟踪的方法,因为当我在调试模式下运行它时,它工作正常。我将尽快测试 PyPy 和 Jython。你知道,我的代码是关于 CAD 程序的,专门针对机械工程师,可能与通常的软件工程师代码略有不同。
  • 亲爱的马蒂亚斯;我对 RUN 和 DEBUG 模式之间的区别有疑问。可能是因为RUN的运行速度比DEBUG高吗?因为这两者之间唯一不同的是跑步的速度。我说的对吗?
  • 运行速度可能有所不同,但也可能是其他原因。通常,python 运行时本身不会崩溃,你必须非常有创意才能管理它,所以我猜测它是一些无法正常工作的扩展。
  • 另外,我在 windows 上很糟糕,但我知道你可以很容易地从 unix 系统上的崩溃进程(核心文件)中获取堆栈跟踪。如果没有办法在 Windows 中做类似的事情,我会感到惊讶。
  • 请注意 Mattias;我安装了一个名为 AppCrashView for windows 的软件,发现 PyQt4 模块和 QtGui4.dll 出现错误。我将继续努力……你有什么建议吗?例如安装另一个版本或...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-19
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 2017-03-01
相关资源
最近更新 更多