google breakpad 제대로 사용 할려면 덤프난거 서버로 보내는거 까지 해야하는데..


그냥 로컬 쪽에서만 처리하는것만 설명...


breakpad 사용할려면 3개의 라이브러리 필요


exception_handler

crash_generation_client

common


위 3개는 breakpad VS 프로젝트 생성하면 있는 것들임..


라이브러리파일은 알아서 링크를...


간단 코드는 아래와 같이..




일단 테스트 한 봐로는 덤프 못잡는 경우가 많은거 같음...


파일명은 자체 세팅 하다 보니 변경 하는데 애로사항이 꽃피는 경우가...


생각보단 불편한거 같음...


윈도우 환경에서는 BugTrap이 좀더 쓰기 편한거 같은데...



by 널부러 2016. 9. 27. 15:53

구글링하면서 나온것들은 다 옛날꺼라 다시 정리 해봅니다..


breakpad 소스 받을려면 구글링 해서는 svn 링크로 나오는데 이제 그거 구글에서 안쓰는거 같아요..

(언제부터인지는 모르겠지만..)


이젠 git으로 받아야하는거 같더라구요...


https://chromium.googlesource.com/breakpad/breakpad/


위 링크로 가면 git 주소 나오니 그걸 받으시면 됩니다...


breakpad 소스 받아보면 VS 솔루션 파일이 없어요...


솔루션 파일을 만드어 주는 gyp 를 이용해서 만들어야하는데...


breakpad 소스 경로 위치가 breakpad\src\client\windows 에 가보면  breakpad_client.gyp 파일이 있어요...


그런데 gyp 파일을 읽어서 바꿔 주는게 breakpad에는 없어요


https://chromium.googlesource.com/external/gyp/


위 주소로 가서 받으셔야 합니다.


gyp 받으면 gyp.bat 파일로 breakpad_client.gyp 이용하면 vs 솔루션 파일이 나오는데


이 gyp가 python을 쓰네요... 뭐 python이 최신이면 다 되는거 같지만..


저는 아래 주소에서 python을 받아서 썼심다..


https://chromium.googlesource.com/chromium/deps/python_26/


python을 받았으면 PATH를 설정 해줘야하는데 안에 setup_env.bat을 이용 하면 되는거 같습니다.


그리고 이제 gyp.bat breakpad_client.gyp 실행 하면 vs 솔루션 파일이 만들어집니다.


물론 두 파일 경로도 다 적어 줘야겠죠.


그런데 에러가 난다면 --no-circular-check 옵션을 추가적으로 주시고 실행 하면 되용


그럼 솔루션 파일이 나올것입니다...


참고로 솔루션 파일안에 보면  유닛테스트 프로젝트 코드도 들어있어서 다른 라이브러리가 추가적으로 필요합니다.

(딱히 필요 없을테니 과감히 삭제를...)


그리고 컴파일 해보면 C2220 에러가 난다면

아래 경고 번호가 있을꺼에요..

그 번호를


프로젝트 속성 -> C/C++ -> 고급 -> 특정 경고 사용 안 함 에 추가 해주시면


정상적인 컴파일이 될것입니다...











by 널부러 2016. 9. 21. 14:55
| 1 |