이것은 몇 가지 질문에 다소 복잡한 문제입니다. 대답이있는 질문에만 자유롭게 응답하십시오.사용자 정의 오류보고 (XP 이상)
몇 가지 구성 요소에 대한 Windows 예외의 경우 미니 덤프를 작성하고 XP SP3을 최소 OS로 지원하는 작업이 있습니다.
- 독립 C++ 응용 프로그램 : 구성 요소 포함 이전 세 점
요구 사항은 WER (XP 이후)와 같지만 Microsoft의 현재 Winqual 대신 전용 공급 업체 서버에 보고서를 보내는 것입니다. 보고 기능을 하나의 정적 라이브러리에 래핑 할 수 있다는 것이 정말 좋을 것입니다.
하지만 문제가 있습니다. DLL은 특별한 짐승입니다. DLL 코드에서 오류가 발생하는 경우에만 보고서를 생성하는 방법? 서비스에는 특별한 처리가 필요할 수도 있습니다.
우선,이 작업을 도와 줄 수있는 알려진 오픈 소스 라이브러리가 있습니까? 그렇지 않다면 나는 내 자신을 굴려야 할 것이다.
내 첫 번째 생각은 각 모듈에서 잠자는 워치 독 스레드를 사용하는 것입니다. 이 스레드는 이벤트를 기다리는 중이고 unhandled exception filter에서 설정됩니다. 스레드는 MiniDumpWriteDump을 사용하여 보고서를 생성하고 인터넷을 통해 보고서를 보내고 마친 후 언급 된 필터에서 스레드가 끝날 때까지 기다렸다가 프로세스를 종료합니다. 이 솔루션에 대한 의견이 있으십니까? 예를 들어 로컬 시스템 계정의 Windows 서비스가 인터넷에 액세스 할 수 있습니까?
Windows 7에서는 지정된 위치에 덤프를 저장하도록 WER을 구성 할 수 있습니다. 아마 비스타에서. XP에 대해서는 확실하지 않습니다. 그런 다음 언제 어디서나 덤프를 보낼 수 있습니다. –