终端产品通常部署在客户的环境中,因此可能会遇到各种各样的问题。例如,windows产品进程为什么突然停止了?有经验的程序员通常会进行以下分析:
中型产品的代码较为复杂。程序中是否有未注意到的退出逻辑?一般来说,程序退出时会有日志记录,这种情况可以通过调试日志和代码审查来追踪。
程序是否因为资源不足或代码错误而崩溃?如果你的程序是一个Windows服务,可以先查看Windows事件日志。当然,如果是崩溃,最好的方式是通过收集dump文件来确认,可以参考我之前写过的一篇文章,然后通过Windbg进行分析,从而定位问题。
系统中的其他程序是否关闭了我们的进程?这看起来是最难查找的,因为用户环境复杂多变。然而,Windows调试工具集中的gflags可以满足我们的需求。第一步 使用gflags设置需要监视的进程,如下图所示,并开启启用静默进程退出监控。

第二步 故意kill这个进程notepad.exe,可以通过任务管理器或Windows调试工具集中的kill.exe手动操作。第三步 查看Windows事件日志,在应用程序事件中可以查看到是谁关闭了你的进程。(下图来自于:MSDN https://www.php.cn/link/cb804af641d900ffe033193d2b7c4a84)

参考
以上就是我的程序被谁干掉了?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号