提问人:Daniel Kaplan 提问时间:11/11/2023 最后编辑:Daniel Kaplan 更新时间:11/19/2023 访问量:70
在 Windows 中显示停滞的 v2 Python.exe 应用程序中的堆栈跟踪
Show the stack trace from a stuck v2 Python.exe application in Windows
问:
我有与显示正在运行的 Python 应用程序的堆栈跟踪相同的问题,但有两个区别:我正在寻找适用于 Windows 10 和 Python v2 的答案。
我有这个 Python 应用程序不时卡住,我 找不到在哪里。
有没有办法向Python[.exe]发出信号,以向您显示确切的 正在运行的代码?
某种动态堆栈跟踪?
我把它作为一个文件运行,这样我就可以看到它的日志,但是当它像这样锁定时,什么也打印不出来。.bat
我可以访问源代码,但我不熟悉该级别的项目;理想情况下,我不需要编辑源代码来获取堆栈跟踪,但如果这是唯一的方法,我愿意这样做。我正在尝试收集足够的信息来为维护者编写有用的错误报告。
答:
-1赞
Steve Yonkeu
11/17/2023
#1
尝试将 WinDbg 从 Windows 调试工具附加到 Python 进程,或在代码中使用回溯添加全局异常处理程序。
与此类似:
import traceback
try:
# Your main application code here
except Exception as e:
traceback.print_exc()
评论
0赞
Daniel Kaplan
11/19/2023
这并不理想,因为“理想情况下,我不需要编辑源代码来获取堆栈跟踪,但如果这是唯一的方法,我愿意这样做。更重要的是,“我有这个 Python 应用程序,它时不时卡住,我找不到在哪里。这个问题可能是一个无限循环,而不是一个“吞噬的例外”。
0赞
Steve Yonkeu
11/19/2023
您如何将信号处理与外部脚本一起使用?
0赞
Daniel Kaplan
11/20/2023
我不熟悉这样做。如果这是一个解决方案,请随时将其作为答案发布。谢谢
评论