如何从Python Tkinter应用程序中捕获任何输出到控制台?

时间:2018-02-28 20:04:14

标签: python python-3.x tkinter error-handling pyinstaller

我有一个带有无数函数的大型多文件Tkinter应用程序,然后与Pyinstaller一起打包为可执行文件。

它包含预期事件的错误处理。但是,它没有任何错误处理意外事件。在将应用程序打包为可执行文件之前运行应用程序时,会向控制台输出意外错误。一旦将其打包为可执行文件,这些错误就会被隐藏(我不希望终端窗口显示给用户)。

问题在于意外错误不会在任何地方显示,因此我无法捕获和调试它们。

我怎样才能拥有一个“全能”来抓取任何输出到控制台的输出,或捕获或记录任何错误?我知道很多方法可以使用额外的代码来完成,但是为应用程序的每个函数添加代码对于我想要实现的目标来说似乎过于繁琐。

1 个答案:

答案 0 :(得分:0)

Linux系统有一个解决方案:

strace -p <PID_OF_PROCESS> -s9999 -e write

它将为您提供已在运行的流程的完整输出。

请参阅:

man strace

详情。