문제

Windows Forms 응용 프로그램 (.NET 4)이 내 개발 시스템에서 잘 실행되지만 두 개의 다른 테스트 시스템에서 충돌합니다.나는 VS2010에서 만드는 미니 덤프를로드 할 수 있습니다.

"혼합으로 디버그"로 선택하면 Visual Studio가 CPU의 학대를 남용하여 끊임없이 끊임없이 (약 20 분 후에 사망했습니다.

원주민과 함께 디버그 할 때 "테스트 컴퓨터에서 동일한 폴더에 소스를 미러링했지만 소스를 찾을 수 없습니다.간단히 말한다 :

0x793F5B8C에서 예외 처리되지 않은 예외 yourwinapp .exe.hdmp : 0xc0000409 : 0xC0000409.

를 그 다음

를 보여줍니다.

콜 스택 위치 : clr.dll! 793F5B8C ()

응용 프로그램이 충돌하는 것을 원인이되는 것을 어떻게 알 수 있습니까?"Microsoft Microsoft"대화 상자가 표시되고 도움이 될 것입니다.

도움이 되었습니까?

해결책

MiniDump 디버깅은 VS2010에서 주요 개선되어야했습니다. 아직 자신을 위해 많은 증거를 보지 못했습니다. 혼합 모드 디버깅은 빠른 테스트를했을 때 이전에 어색한 것처럼 보입니다. 그러나 그 말을하지 마십시오. 그러나 원주민 전용은 관리되는 통화 스택을 보여줄 수 없습니다.

소스에서 이것을 해결하십시오. appdomain.currentdomain.UnhandledException에 대한 이벤트 핸들러를 작성하고 main () 메서드에 등록하십시오. 메시지 상자에 e.exceptionObject.toString ()의 값을 표시하도록하십시오. 이는 예외의 관리 스택 추적을 가져옵니다. 해당 메시지 상자가 표시되는 동안 미니 덤프를 스냅 할 수도 있습니다. 충돌 위치에 가까이 가야합니다.

선택한 특별한 예외는 기본 C / C ++ 코드를 확실히 가리키는 것입니다. 스택이 손상된 버퍼 오버 플로우입니다. 앱이 사용하는 기본 코드에 .pdb 파일이 있는지 확인하십시오. Microsoft Symbol Server를 설정하여 미니 덤프에서 좋은 기본 스택 추적을 얻을 수 있습니다.

편집 : UnhandledException을받지 못한다는 사실은 CRT에서 무결성 검사를 쌓기 위해 확실히 인상됩니다. not 예외를 올리도록 설계되었지만 즉시 프로그램을 종료하십시오. 필요한 동작 스택이 손상되므로 코드는 안전하게 풀 수 없음을 가정 할 수 없습니다. 충돌 위치가 주어지면이 수표가 실제로 CLR 코드에서 수행 될 가능성이 큽니다. 나는 이것이 이전의 CLR 버전 에서이 작업이 아니라 .NET 4.0 / p>에 포함 된 CLR 버전에서는 다를 수 있음을 알고있다.

관리되는 스택 추적을 얻기가 매우 어려울 것입니다. CLR 스택 프레임에서 식별자 이름을 얻을 수 있도록 심볼 서버를 설정하면 관리되지 않는 스택 추적에서 역행하는 것이 많을 수 있습니다. 당신이 그것을 해석하는 데 도움이 필요하면 질문에 스택 추적을 게시하십시오. CLR 코드의 버그가 BTW가 아닌 경우 Microsoft 지원 호출을 고려할 수 있습니다. 그러나 그들은 일관된 REPRO가 필요합니다. 그들은 REPRO가 어렵다면 모든 중요한 스택 추적을 수행 할 수 있습니다. 좋은 관리되지 않는 스택 추적을 얻으려면 기호 서버를 설정하십시오. 쉽게 VS2010 : 도구 + 옵션, 디버깅, 기호, "Microsoft 기호 서버"를 선택하십시오.

다른 팁

procdump 전체 메모리 덤프를 얻으려면 응용 프로그램사용할 수없는 예외가 있으므로 VS 또는 WINDBG에서 디버그 할 수 있습니다

및 미니 덤프는 왓슨 버킷으로 콜 스택 정보를 가지고 있으며, 여기서 CLR 팀과 동일

에 대해 썼습니다.

처리되지 않은 예외에 대한 이벤트 뷰어에서 볼 수있는 Watson Bucket 정보에 대한 간략한 설명

  1. exefilename
  2. EXE 어셈블리 버전
  3. exe 어셈블리 타임 스탬프
  4. 이름
  5. 오류 어셈블리 버전
  6. 어셈블리 조립 시간 소인
  7. 오류 어셈블리 방법 DEF
  8. 예외를 초래 한 IL 명령어
  9. 예외 유형
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top