写一个Windows上的守护进程(7)捕获异常并生成dump 谁都不能保证自己的代码不出bug。一旦出了bug,最好是崩溃掉,这样很快就能被发现,若是不崩溃,只是业务处理错了,就麻烦了,可能很长时间之后才能被发现。 那么如果崩溃掉,怎么查错呢? 写过Windows驱动的同学应该知道,一旦崩溃 ...
一两个月前为产品写了一个独立的exe,由于产品使用的捕获dump是一个现成的进程外exe,如果以资源的方式集成它容易出现安全警告,由于时间关系没有寻求新的解决方法,还是遵循旧方案,不捕获dump。 最近业余看了会儿breakpad client,想到一个解决方案 其实也蛮简单的,最后exe大概会增加 多KB。下边从头分析。 有这样一种需求,希望一个进程启动之后,有另一个进程来 守护 它,当它发生 ...
2013-08-31 17:38 0 4383 推荐指数:
写一个Windows上的守护进程(7)捕获异常并生成dump 谁都不能保证自己的代码不出bug。一旦出了bug,最好是崩溃掉,这样很快就能被发现,若是不崩溃,只是业务处理错了,就麻烦了,可能很长时间之后才能被发现。 那么如果崩溃掉,怎么查错呢? 写过Windows驱动的同学应该知道,一旦崩溃 ...
一般要捕获异常只需要两个函数: SetUnhandledExceptionFilter截获异常; MiniDumpWriteDump写dump文件。但是由于CRT函数可能会在内部调用SetUnhandledExceptionFilter(NULL),解除我们程序设置的异常处理 ...
在笔记本端部署服务时,有时会遇到断网、硬件设备掉线等情况,需要重新启动服务,觉得较为麻烦。想仿照linux下的脚本,写一个windows下的脚本,守护进程,自动检查自启动。 windows下的脚本为.bat文件,下面以启动***.exe文件为例,protect_process.bat ...
breakpad是Google开源的一套跨平台工具,用于dump的处理。很全的一套东西,我这里只简单涉及breakpad客户端,不涉及纯文本符号生成,不涉及dump解析。 一、使用 最简单的是使用进程内dump捕获,使用者只需要跟ExceptionHandler打交道,在自己的程序里 ...
通常通过进程名称或者端口号来判断进程是否正在运行。但是windows下进程名常常难以区分,比如有两个python脚本程序A和B同时在执行,进程名都是python.exe。若是通过端口来区分,却又只适用带有端口监听的程序,比如某进程监听6379,可能该端口被很多程序同时监听。怎么做到细化守护 ...
开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服务的安全级别又很高,只有我可以操作,搞得我晚上老没法睡,昨晚实在受不了了,想起以前在hp-ux下写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了个兄弟让他写了,上去后运行效果 ...
开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服务的安全级别又很高,只有我可以操作,搞得我晚上老没法睡,昨晚实在受不了了,想起以前在hp-ux下写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了个兄弟让他写了,上去后运行效果不错 ...
写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了 ...