E文好的直接移步--》http://code.google.com/p/google-breakpad/wiki/ClientDesign
部分按照自己的理解来说,一部分来自翻译软件,一些和模块相关术语还是用英文比如handler和sender。
Breakpad 客户端库
目标
说白了,就是handler负责产生dump,sender负责上传。因为程序crash时,自己的堆栈被破坏,本身是不安全的,不适合再做其他事情。
打个比方:进程1是crash进程,使用handler,进程2是监控进程,进程1crash时,handler会产生一个minidump,通过管道发送给进程2,进程2此时使用sender发送到服务器。
背景
理解 dump files 有助于理解handler。
概述
Breakpad 提供库包括这些平台 Windows on x86 and Mac OS X on both x86 and PowerPC. Linux 版的实现正在审查。其实还有android,我发现了代码现在没有深入研究。是不是支持64位程序待研究。
不同操作系统差异较大所以handler的实现也存在差异,多核操作系统会把每个核的信息产生,在不同平台的handler的使用类似。
说在载入某个库的最前面使用handler。<