2009-09-02 34 views
15

Tôi đang tìm trình xử lý sự cố đa nền tảng. Google Breakpad có vẻ đầy hứa hẹn, nhưng nó thiếu sót bất kỳ tài liệu nào và yêu cầu một số tiền hợp lý để thực sự bắt đầu.Trình xử lý sự cố đa nền tảng

Giải pháp thay thế tốt hơn là gì?

Tất cả những gì tôi cần là khả năng ghi lại đáng tin cậy các bãi đổ rác, dấu vết ngăn xếp và thông tin CPU tại thời điểm xảy ra sự cố. Ngoài ra, trải nghiệm sử dụng Google Breakpad là gì? Nó đã được tuyệt vời hay khủng khiếp?

+0

Nền tảng chéo phải như thế nào? gdb + coredump hoạt động độc đáo trên x86, arm, ppc, ... nhưng cần gcc toolchain. – stefaanv

Trả lời

7

Vâng, hóa ra là google-breakpad khá đẹp sau tất cả. Nó không phải là hoàn toàn dễ dàng để thiết lập, nhưng nó là OK cho những gì tôi cần.

+0

Xin chào, tôi không thể tìm ra cách xây dựng nó. Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao - http://stackoverflow.com/questions/2925094/how-to-build-google-breakpad – Steve

+0

Tài liệu không tuyệt vời, tôi sẽ thừa nhận. Tôi đã cố gắng cải thiện điều đó và tôi nghĩ rằng bây giờ đã tốt hơn một chút, hãy xem: http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad Đó thực sự là một thư viện hữu ích và vận chuyển với rất nhiều phần mềm sản xuất, do đó, nó thực hiện công việc khá tốt. –

6

Tôi đã viết một bài báo về việc bán phá giá ngăn xếp trong C/C++ với Windows và Unix/Linux tại DDJ một vài năm trước đây. Nó không sử dụng một coredump, nhưng nó viết khung stack vào một tập tin đăng nhập, trên các lỗi nội bộ, hoặc khi hệ điều hành xác định một lỗi ứng dụng.

Có lẽ nó giúp bạn:

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

+0

Tôi biết rằng nó cũ nhưng tôi không thể nhìn thấy phiên bản Unix/Linux trong bài viết. Có một số loại theo dõi ở đâu đó không? – yatsa

+0

Uh, tôi thấy nó ngay bây giờ (có mã nguồn với ví dụ tương thích POSIX) – yatsa

3

Đối với mã biên soạn, có hai lựa chọn tốt - core dumps dưới UNIX biến thể và Dr. Watson log tai nạn/bãi trong môi trường Windows. Tôi biết rằng đây không phải là giải pháp đa nền tảng, nhưng khi bạn chỉ xử lý hai nền tảng thì có hai giải pháp không thực sự tệ đến mức nào.

Tất nhiên, các giải pháp chỉ chụp ảnh lõi tại thời điểm xảy ra sự cố chứ không phải trạng thái của máy. Tôi không biết bất cứ điều gì sẽ nắm bắt IO và tải CPU tại thời điểm một vụ tai nạn ứng dụng. Bạn có thể muốn xem xét số Mozilla Crash Reporter, thật kỳ quặc, còn được gọi là "Breakpad" ... trùng hợp ngẫu nhiên?

+1

không, không phải ngẫu nhiên - mozilla sử dụng google breakpad vì nó là trình xử lý sự cố. – Thomi

Các vấn đề liên quan