2012-11-09 4 views
0

고객의 사이트에서 우리 응용 프로그램에 "내부 응용 프로그램 오류"가 표시되는 경우가 있습니다."내부 응용 프로그램 오류"의 원인을 찾는 방법

그런 상황의 덤프 파일을 얻을 수있었습니다. 불행히도,이 파일은별로 도움이되지 않습니다 : 이벤트 처리기에서 예외가 발생하는 정보 만 효과적으로 포함됩니다. 이 이벤트 핸들러는 다른 많은 함수를 호출하기 때문에 예외의 근본 원인을 추적 할 수 없었습니다.

PC에서 이러한 오류를 재현 할 수있을 때 디버거에서 처음 예외를 잡으면 문제가 쉽게 발견됩니다. 결과 호출 스택이 충돌의 원인을 직접 가리키기 때문에 하드 크래시 (예 : 액세스 위반)의 원인을 찾는 데 문제가 없습니다.

고객의 사이트에 작은 도구를 설치하는 것이이 오류의 원인을 어떻게 알 수 있습니까?

답변

1

1) 클라이언트 컴퓨터에 설치된 Windebugger를 사용하십시오. 2) 고객 측의 릴리스에 속한 Pdb 파일을 가져옵니다. 3) 파일 메뉴에서 Windebugger를 열고 표시된 창에서 기호 경로 메뉴 항목을 선택하십시오. - 기호 파일에 대한 경로를 지정하십시오. 4) "! -v 분석"하단에있는 명령을 실행) 덤프 파일 (5)를 엽니 다 (

이 디버거는 당신에게 스택 추적, 현재 명령 포인터 위치, 마지막으로 던져 줄 것이다 처리되지 않은?) 예외 또는 기타 버그 원인

+0

이 작업은 직접 작동하지 않았지만 올바른 방향으로 힌트가되었습니다 (예외는 이미 MFC에 의해 삼켜 졌기 때문에 더 이상 덤프 파일에 없습니다). WinDbg와 함께 작동 - Attach to process - 처리 된 예외 처리, 이벤트 필터 : C++ EH 예외 사용. 고맙습니다! – hofingerandi

관련 문제