문제

예외 코드를 알면 발생한 실제 예외가 무엇을 의미하는지 자세히 알아볼 수 있는 방법이 있습니까?

문제의 예외:0x64487347

예외 주소:0x1

호출 스택에는 정보가 표시되지 않습니다.

충돌의 .dmp를 검토 중이지만 실제로 Visual Studio에서 디버깅하는 것은 아닙니다.

도움이 되었습니까?

해결책

크래시 덤프를 검토하고 있기 때문에 고객이 크래시 덤프를 제공했다고 가정하고 더 많은 계측을 사용하여 오류를 쉽게 재현할 수 없습니다.

예외 코드 0x64487347이 ASCII "dShG"이고 개발자가 이와 같은 매직 넘버를 구성할 때 루틴 또는 오류 조건의 이니셜을 사용하는 경우가 많다는 점을 참고하여 저장을 제공하는 데 큰 도움이 되지 않습니다.

약간의 인터넷 검색을 통해 적절한 맥락에서 dHsg에 대한 히트가 하나 발견되었습니다. Google 도서 검색에서 Kate Gregory가 쓴 "Visual C++ 6 사용"에 대한 함수 이름입니다.불행히도 그것만으로는 도움이 되지 않았습니다.

다른 팁

Microsoft 런타임에서 발생한 실제 C++ 예외의 SEH 코드는 0xe06d7363(E0 + 'msc')입니다.다른 예외가 있습니다.

.NET은 코드 0xe0434f4d(E0 + 'COM')를 사용하여 SEH 예외를 생성합니다.

NT의 상태 코드는 ntstatus.h에 문서화되어 있으며 일반적으로 0x80(경고) 또는 0xC0(오류)으로 시작합니다.가장 유명한 것은 0xC0000005, STATUS_ACCESS_VIOLATION입니다.

어떤 블록이 예외를 발생시켰는지 알고 있다면 catch 블록에 더 구체적인 핸들러를 넣어서 그런 식으로 격리해 볼 수 있나요?

자신이 굴린 예외를 던지고 있습니까?

편집하다:당신에게 가리키는 것을 잊어버렸어요 이 기사 Visual C++ 예외에 대해서는 꽤 유용하다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top