C# 응용 프로그램에서 APPCRASH가 발생합니다. 런타임에 "이 응용 프로그램이 비정상적으로 종료되도록 런타임을 요청했습니다."라는 오류 메시지가 나타납니다. 그런 다음 확인을 클릭하면 일반적인 "솔루션 온라인 확인", "프로그램 닫기"및 "디버그 프로그램"옵션을 사용하여 "MyApplication has working working"메시지가 나타납니다. "추가 세부 정보"를 클릭하면 APPCRASH 서명이 나옵니다. 많은 추가 정보가 있습니다. 그것의 일부는 사람이 읽을 수있는 것이고, 그 중 일부는 16 진수입니다. "예외 코드"는 40000015입니다. "추가 정보"라인도 있습니다. 내 질문은 : 우주에있는 사람이 APPCRASH 메시지의 정보가 무엇을 의미하는지 알고 있습니까?APPCRASH 메시지의 세부 사항은 무엇을 의미합니까?
메시지가 원인을 밝힐 수있는 누군가에 의해 읽히기 시작한 것 같습니다. 답변을 검색 할 때 나는 정확히 같은 형식의 메시지를 게시하는 많은 사람들을 발견했습니다. 불행히도, 나는이 정보가 무엇을 의미하는지에 대한 설명을 발견하지 못했습니다.
또한 "디버그 프로그램"옵션을 시도했지만 도움이되지 않습니다. 그것은 단지 호출 스택 위로 아무 곳으로도 내 코드가없는 시스템 dll에 나를 둔다. 조사한 결과이 시스템 코드에서 오류가 발생하지 않습니다.
다른 DLL을 "오류 모듈"(이 코드는 많은 외부 DLL을 사용함)로 명명 한 APPCRASH 메시지는 치명적인 오류가 발생할 수 있습니다. 그러나 외부 DLL에 나쁜 호출을하는 (또는 나쁜 상태에 놓는) 코드에서 해당 위치를 찾아야하기 때문에이 정보는별로 도움이되지 않습니다. 슬프게도, "내 코드"라고 말할 때, 나는 단지 내가 작업하고있는 코드를 의미합니다. 몇 년 동안 수십명이 작성한 거대한 코드베이스이기 때문에 치명적인 호출을할만한 장소를 추측 할 수는 없습니다. 그래서 APPCRASH 메시지에서 더 많은 정보를 얻을 수 있기를 바랍니다. 그래서 내가 세부적인면에서 아주 인색 한 이유이기도합니다. 모든 것은 빨간 테이프가 많은 매우 독점적입니다. 그래서 APPCRASH 메시지 내용을 게시하지 않은 이유이기도합니다.
분명히하기 위해 제 문제를 디버깅하지 않을 것입니다. 나는 당신에게 오류의 재현 가능한 사례를 줄 수있는 방법이 없으며, 누구에게도 내 구체적인 경우에 오류의 원인을 말하도록 요구하지 않습니다. 이 16 진수를 해석하는 법을 알고 싶습니다. 그리고 어떤 문서도 찾을 수 없었습니다.
네이티브 C 또는 C++ 코드가 abort() 함수를 호출 할 때 사용되는 예외 코드입니다. 우리는 당신을 찾을 수 없지만 분실 된 "시스템 dll"에 분명히 있습니다. –
디버거가 나를 넣은 시스템 코드에는 예외가 발생하지 않습니다. 하지만 예외가 다른 외부 dll에서 발생하는 것 같습니다. 이것이 abort() 호출에서 나온 것이라면, 관리되지 않는 땅의 어딘가에서 죽어 가고 있습니다. – user1646801
비 관리 코드에 문제가있는 것 같습니다. 문제를 분리하기 위해, 나는 당신의 코드에서 [DllImport]가 모의하려고하는지 점검하고, 주석을 달고, 문제가 적은지 확인하려고한다. 다른 생각은 잘못된 관리되지 않는 호출을 포함 할 수있는 타사 구성 요소가있는 경우입니다. 마지막으로, WinDBG를 시도하고 문제를 찾으십시오. 필자는 전문가가 아니기 때문에 WinDBG가 나의 마지막 리소스가 될 것이고, 이것은 매우 어려운 하드 코어 디버깅 방법이다. –