各位大虾, 我想在程序里监视系统上运行的某些程序运行过程中是否报错异常,能实现吗? 怎么实现?

问题描述:

对于程序运行过程中卡死已经能检测,但是对于一些弹框类的运行出错却不知道怎么检测,请各位大虾指点迷津; 现在没有C币,如果回答是我想要的,我花钱补上

这不就是编写一个华医生么(注:华医生是微软系统上负责处理应用程序崩溃的程序,就是你图上的“xxx已停止工作,Windows正在联机查找解决方案”),这是一个应用程序,是在用户模式下实现的,而并非在内核中实现,其实华医生也可以卸载掉,卸载之后程序崩溃就变成了“xxx进程试图访问的xxx内存,其内存不能为read/write/execute”(或者是压根没提示了)。但遗憾的是,微软并没有公开华医生的实现原理,而事实上华医生也不是微软本来打算做的,而是微软公司中一个技术大牛编写后植入Windows的。当一个应用程序出现异常时,异常会按照这种方法传递:调试出错进程的调试器进程->进程设置的自己的异常处理函数->华医生。所以华医生也有其缺陷,因为对于自己设置了异常处理的程序,他捕获不到异常,比如QQ崩溃,打开的是QQ自己设置的出错提示窗口,但是我们可以发现,调试器的优先级最高,也就是说,我们可以调试目标进程,在进程崩溃的时候就能最先拿到异常数据了,调试一个进程的方法有两种,第一种是createprocess时添加一个调试进程的flag,第二种是动态设置调试,是有一个API的,有关调试进程如何获取异常信息的,网上有很多资料,搜索Windows调试API

首先抱歉,因为您的问题我无能为力,只好帮您顶一下了。但我有疑问的是:您说您没有C币,为何这个问题的悬赏值却清楚的显示了50C币呢?

可以通过日志进行监控,通过写一个定时任务来扫描日志中的异常信息进行监控。可以是实时监控也可以是分时段监控。

对于论坛,我也不懂啊。好高深的东西。