2009-09-02 103 views
15

我正在尋找一個跨平臺碰撞處理程序。 Google Breakpad看起來很有希望,但它很缺乏任何文檔,並且需要合理的操作才能真正開始。跨平臺碰撞處理程序

什麼是更好的選擇?

我需要的是能夠在崩潰時可靠地記錄崩潰轉儲,堆棧跟蹤和CPU信息。或者,使用Google Breakpad的體驗是什麼?它是偉大的還是可怕的?

+0

跨平臺應該如何? gdb + coredump在x86,arm,ppc等上很好地工作,但需要gcc工具鏈。 – stefaanv 2009-09-02 11:27:32

回答

7

嗯,事實證明,谷歌霹靂板畢竟是相當不錯的。這並不是一件容易的事情,但它可以滿足我的需要。

+0

嗨,我似乎無法弄清楚如何建立它。任何幫助將不勝感激 - http://stackoverflow.com/questions/2925094/how-to-build-google-breakpad – Steve 2010-05-27 21:29:38

+0

文件不是很好,我承認。我一直在努力改善這一點,現在我認爲它會好一點,請參閱:http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad儘管這是一個非常有用的庫,大量的生產軟件,所以它做得很好。 – 2011-02-24 13:46:28

6

我寫了一篇文章,談論幾年前在DDJ上用Windows和Unix/Linux在C/C++中傾銷堆棧。它不使用coredump,但它將堆棧幀寫入日誌文件,內部錯誤或操作系統確定應用程序故障時。

也許它可以幫助你:

http://www.ddj.com/architect/185300443

+0

我知道它很老,但在文章中我看不到Unix/Linux版本。是否有某種後續行動? – yatsa 2014-04-11 12:57:21

+0

呃,我現在看到它了(有POSIX兼容示例的源代碼) – yatsa 2014-04-11 13:04:37

3

對於編譯代碼,有兩個不錯的選擇 - core dumps UNIX下的變種和Dr. Watson的崩潰日誌Windows下/轉儲。我知道這不是一個跨平臺解決方案,但是如果您只處理兩個平臺,那麼有兩個解決方案並不是真的那麼糟糕。

當然,解決方案僅在碰撞時捕獲核心映像,而不是機器狀態。我不知道任何能夠在應用程序崩潰時捕獲IO和CPU負載的任何東西。你可能想看看Mozilla Crash Reporter這是奇怪的,也被稱爲「Breakpad」 ......巧合?

+1

不,這不是巧合 - mozilla使用google breakpad,因爲它是crash處理程序。 – Thomi 2009-09-02 12:29:55