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

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

参考
以上就是我的程序被谁干掉了?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/110003.html
微信扫一扫
支付宝扫一扫