2015-01-13 2 views
1

원시 mfc 라이브러리를 COM 구성 요소로 사용하는 C# 응용 프로그램을 작성했습니다. 이 프로그램은 서버 시스템에서 실행되어 일부 하드웨어 장치를 모니터합니다. 대부분의 경우 응용 프로그램이 제대로 작동하지만 때로는 "C++ Debug assertion failed"메시지 상자가 나타납니다."디버그 어설 션이 실패했습니다"오류가 발생한 곳을 찾으십시오

내 어플 리케이션을 디버그하고 어설 션이 실패했을 때 내 소스 코드의 호출 스택을 볼 수있는 방법을 알고 싶습니다. 내 C# 응용 프로그램 소스 코드가 있지만 문제는 언 매니지드 코드에서 발생한 어설 션입니다. Visual Studio 디버거를 앱에 연결했을 때 어설 션 오류가 발생했을 때 아무 것도 나타나지 않았습니다.

+0

소스없이 프로그램을 디버깅하는 것은 어렵습니다. 당신은 사실상 리버스 엔지니어링입니다. – Deduplicator

+0

나는 내 C# 애플 리케이션 소스 코드를 가지고 있지만 문제는 언 매니지 코드에서 발생하는 어설 션, 나는 애플 리케이션에 시각적 인 스튜디오 디버거를 붙 였지만, assings 실패 오류가 발생하면 아무 것도 나타나지 않습니다! –

+1

글쎄, 한 가지 제안이있다. 호출하기 전에 코드의 일부분에서 가능한 한 비 관리 코드의 사전 조건을 찾고 주장한다. 운이 좋으면 블랙 박스를 리버스 엔지니어링하거나 다시 쓸 필요가 없습니다. – Deduplicator

답변

1

AFAIK 당신은 COM 구성 요소의 소스 코드가있는 경우에만 이것을 디버깅 할 수 있습니다. 해당 프로젝트를 열면 디버거를 COM 구성 요소의 DLL을 호출하거나로드 할 프로세스에 연결하십시오.

관련 문제