지금 현재 프로젝트에서 google-breakpad 를 쓰고 있는데,
얘도 위의 것과 비슷한 원리로 덤프를 남기고 있다.
위의 링크에서는, stack overflow 발생시 thread 를 하나 생성해서 덤프를 찍는 방법을 쓰고,
google-breakpad 같은 경우는 이미 시작부터 dump 용 thread 를 만들어서 그 thread 가 주가 되어서 dump 를 남긴다.
배현직님 께서 카페에 쓰신 글 중, dump 안남고 죽는 경우.
3가지 정도로 기억합니다. Pure virtual function. CRT check. Stack overflow. 앞 둘은 핸들러 루틴 오버라이드로 해결되며 뒷것은 타 스레드에서덤프남기기 혹은 sp레지스터 변경하기로 해결돼요.
CRT check 는 안걸려봐서 모르겠지만,
Pure virtual function 과 stack overflow 는 google-breakpad 로 dump 남기는 걸 확인했음.
No comments:
Post a Comment