Crash采集:
Windows:
CrashRpt,A crash reporting system for Windows applications,参考:http://crashrpt.sourceforge.net/
MacOS:
BreakPad,参考:https://z.itpub.net/article/detail/6FE375D6AB57BC3A16CD365C829300D2
分析:
WinDbg:参考 https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
BreakPad: 参考: https://github.com/google/breakpad
https://github.com/google/breakpad/tree/main/docs
Crash架构:
https://bitbucket.org/chromiumembedded/cef/wiki/CrashReporting.md
关于BreakPad:
默认情况下,当崩溃时breakpad会生成一个minidump文件,在不同平台上的实现机制不一样:
◆在windows平台上,使用微软提供的 SetUnhandledExceptionFilter() 方法来实现。
◆在OS X平台上,通过创建一个线程来监听 Mach Exception port 来实现。
◆在Linux平台上,通过设置一个信号处理器来监听 SIGILL SIGSEGV 等异常信号。
配置文件:
点击查看代码
# Product information.
ProductName=cefclient
ProductVersion=1.0.0
# Required to enable crash dump upload.
ServerURL=http://localhost:8080
# Disable rate limiting so that all crashes are uploaded.
RateLimitEnabled=false
MaxUploadsPerDay=0
[CrashKeys]
# The cefclient sample application sets these values (see step 5 below).
testkey_small1=small
testkey_small2=small
testkey_medium1=medium
testkey_medium2=medium
testkey_large1=large
testkey_large2=large