나는 최종 사용자에게 배포하려는 프로그램을 가지고 있으며 이로 인해 충돌 보고서를 받고 싶습니다. MSVC를 사용하고 있다면 미니 덤프를 생성하여 나에게 보낸 다음 해당하는 PDB로 검사하여 유용한 스택 추적을 얻을 수 있습니다.PDB와 동일한 GCC
GCC에서 이와 동일한 작업은 무엇입니까? 스택 트레이스를 생성 할 수 있지만 유용하게 사용하려면 실행 파일에 컴파일 된 디버그 심볼이 필요합니다 (-g 사용). 실행 파일이 크기면에서 꽤 큰 규모가 될 수 있기 때문에 이것은 배포 배포에는 용납 될 수없는 것이 분명합니다.
내가 봤는데 objcopy 디버그 기호를 별도의 파일로 분리 할 수있는 참조를 찾았지만 그 페이지는 여전히 디버그 기호를 사용 가능한 릴리스 실행 파일과 함께 사용할 수 있어야 함을 암시합니다.
그게 좋겠지 만, 실제로 읽을 수있는 스택 추적을 얻기 위해 나중에 디버그 기호없이 생성 된 스택 추적을 분리 된 디버그 기호와 어떻게 조율합니까? – pjohansson
gdb가 별도의 디버그 기호를 사용하도록 설정할 수 있습니다. Linux 배포판이 디버그를 사용하는 방법입니다. http://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html – ismail
이 페이지는 마찬가지로 디버깅 정보 오류가있는 컴퓨터에 존재합니다. 나는 분명히 할 것이다. 우리는 고객에게 디버그 정보를 제공 할 수 없다. 소프트웨어가 스택 추적 (디버그 기호 없음)을 생성하고이 스택 추적을 나중에 개발 컴퓨터 중 하나에서 별도의 디버그 기호와 조정하려면 클라이언트에서 더 이상 관여하지 않아도됩니다. 나는 이것이 아마도 * nix가 아닌 Windows 환경이라는 것을 분명히해야한다. – pjohansson