2011-05-16 2 views
4

C++ (windows, mac, linux)의 교차 플랫폼 앱에서 충돌보고를 구현하는 가장 좋은 방법은 무엇입니까? 구글 브레이크 패드를 들여다 보았지만 소 코로 (UI)를 쓸모 없게 만들려고 몇 주를 보냈다.멀티 플랫폼 충돌보고?

편집 : @Nim을 지우려면 예외가 발생했을 때 서버에 스택 추적을 보내고 싶습니다.

+0

외부 에이전트가 프로세스를 모니터링하도록 하시겠습니까 ("OpenSource 모니터링"을 사용하여 Google에서 검색하면 상당수의 OS 솔루션 (Nagios, Zabbix 등)이 표시됩니다. 또는 인프라에서 뭔가를 보내려면 프로세스가 필요합니까? 질문을 조금 분명히해야합니다 ... – Nim

답변

5

이전에 Windows 전용), 우리는 이것을 위해 가능한 도구를 연구하는데 많은 시간을 보냈습니다. Google Breakpad는 정말 최고의 크로스 플랫폼 솔루션입니다.

귀하의 문제는 거대하고 모호하며 혼란스러운 소코로입니다. 나는 두 개의 루트 제안 할 수 있습니다 :

  • 드롭 하둡과 같은 신기한 것을 좋아하는 OSS 장난감 사랑에 너무 많이 소코의 현재 버전을 다시 소코 1.x 버전으로 롤백 프로세서를 설정하기 위해 좀 더 많은 작업을해야하며, 덤프는 Postgres 테이블로 들어갈 것이지만 움직이는 부분이 적고 처리 할 미친 인프라가 적다.
  • Socorro에 대해 잊어 버리고 Breakpad 덤프 용 프로세서와 함께 볼 수있는 UI를 작성하십시오. Breakpad는 이미 심볼을 파싱하고 예외를 잡는 등 매우 어려운 작업을 수행했습니다. 따라서 덤프를 업로드 할 수있는 수집기, Breakpad 프로세서를 실행하는 팜, 처리 된 결과 및 뭔가를 볼 수 있습니다.

오히려 소코 —에게 우리를 위해 작동 소코의 버전을 찾기 위해 우리를 촬영하고 시간을 통합하고에 적응하는 것보다 우리가 지금, 우리는 아마 두 번째 옵션과 함께 갈 것입니다 않는 것을 알고 우리 워크 플로우는 이미 우리가 원하는 것을 정확히 수행하는 시스템을 작성하기 위해 취한 조치를 이미 초과했습니다.

+2

두 번째 옵션은 https://github.com/atom/mini-breakpad-server입니다. – legalize

2

나는 win/mac/linux 올인원 솔루션으로 google-breakpad를 제외하고 신뢰할 수있는 하나가 있을지 의심 스럽다. 최선의 방법은 크로스 플랫폼 로깅 라이브러리를 사용하고 SEH 예외를 처리하고 미니 덤프가 필요한 경우 windbg를 사용하는 것입니다 (여기에 대한 유용한 리소스가 있습니다.

관련 문제