Google Breakpad: 實戰crash .


Google Breakpad: 實戰crash .

http://blog.csdn.net/zm_21/article/details/24795205

C/C++程序最棘手的時候就是一個字“掛”,總是經常和不經常的掛掉,尤其是那些線上的不經常掛的情況,光看日志定位問題真的很難。

為解決C掛掛的問題,有必要提供一個跨平台的crash處理系統,目前已知的支持平台有windows 、Linux、 OS X 、Android、等待。

下面就來看看Google自己用的系統:Breakpad

最好的介紹莫過於谷歌自己的:

谷歌的介紹:http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad

谷歌翻譯-》本人修改版:(不一定准確)minidump-》小型轉儲

介紹

 Breakpad是一個庫和工具套件可以讓你發布的應用程序(把編譯器提供的調試信息剝離掉的)給用戶,記錄了崩潰緊湊的“dump”文件,發送回您的服務器,並從這些minidump產生C和C++堆棧蹤跡。Breakpad可以根據請求使沒有崩潰的程序也可以寫出minidump。

目前使用Breakpad的有谷歌瀏覽器,火狐,谷歌的Picasa,卡米諾,谷歌地球,和其他項目。

Breakpad有三個主要組件:

  • 客戶端是一個庫,包含在您的應用程序中。 它可以獲取當前線程的狀態和當前加載的可執行文件和共享庫的ID寫轉儲文件。您可以配置客戶端發生了崩潰時寫入一個minidump時,或明確要求時。
  •  符號卸載器是一個程序,讀取由編譯器產生的調試信息,並生成一個使用Breakpad格式符號文件   。
  • 處理器(minidump processor)是一個程序,讀取一個minidump文件,找到相應的版本的符號文件的(可執行文件和共享庫的轉儲提到的),並產生了一個人可讀的C / C + +堆棧跟蹤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM