waithome 2015-11-12 09:19 采纳率: 100%
浏览 2085
已采纳

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

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

  • 写回答

7条回答 默认 最新

  • zuishikonghuan 2015-11-13 14:54
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改