我正在运行一个Python脚本来启动许多应用程序。我需要一种方法来检测启动的应用程序是否崩溃。有些应用程序具有内部崩溃处理功能
如何检测崩溃?
0g0grzrc1#
如果它们有内部崩溃处理,就不可能检测到。应用程序将处理错误并正常退出。如果你将自己连接为调试器,你甚至不能检测到这一点。原因是exception dispatching (MSDN):1.调试器得到关于异常的通知。2这被称为第一机会异常。3然而,这可能是“正常的”,例如应用程序所期望的FileNotFound。
except
catch
dfddblmv2#
如果子进程崩溃,你应该能够看到对话框崩溃,并提示采取行动“调试”或“关闭程序”。
2条答案
按热度按时间0g0grzrc1#
如果它们有内部崩溃处理,就不可能检测到。应用程序将处理错误并正常退出。如果你将自己连接为调试器,你甚至不能检测到这一点。
原因是exception dispatching (MSDN):
1.调试器得到关于异常的通知。2这被称为第一机会异常。3然而,这可能是“正常的”,例如应用程序所期望的FileNotFound。
except
块,C#或C++中的catch
块,甚至是通用的“未处理异常处理程序”。1.如果没有人想处理应用程序,调试器会再次得到通知。这次,异常被标记为第二次机会异常。这意味着应用程序下一次将崩溃。
您希望在步骤3中获得通知,但是应用程序已经在步骤2中停止了该过程。
dfddblmv2#
如果子进程崩溃,你应该能够看到对话框崩溃,并提示采取行动“调试”或“关闭程序”。