2012-10-04 3 views
1

내 Windows 응용 프로그램 (MFC)을 실행할 때 두 개의 경고 메시지가 나타납니다.MFC Appliction에서 "First-chance exception"이란 의미입니까?

First-chance exception at 0x01046a44 in XXX.exe: 0xC0000005: Access violation reading location 0x00000048.

First-chance exception at 0x75fdb9bc (KernelBase.dll) in XXX.exe: 0x000006BA: The RPC server is unavailable.

는 나는 그들이 무슨 뜻인지 알 수 있습니까? 고맙습니다.

+0

이 오류가 발생한 곳과 방법은 무엇입니까? – Luftwaffe

+0

이것은 mfc 응용 프로그램을 사용하여 미디어 플레이어를 실행하려고 할 때마다 발생합니다. –

+1

포인터를 기대하는 함수에 0x48 값이있는 정수가 전달 된 것처럼 보입니다. –

답변

6

첫 번째 예외는 무엇입니까?

응용 프로그램을 디버깅 할 때 예외가 발생할 때마다 디버거에 알립니다. 이 시점에서 응용 프로그램이 일시 중단되고 디버거가 예외 처리 방법을 결정합니다. 이 메커니즘을 통한 첫 번째 패스를 "첫 번째 기회"예외라고합니다. 디버거의 구성에 따라 응용 프로그램을 다시 시작하고 예외를 전달하거나 응용 프로그램을 일시 중단 한 상태로 디버그 모드로 전환합니다. 응용 프로그램이 예외를 처리하면 정상적으로 계속 실행됩니다.

자세한 내용은 this 문서를 참조하십시오.

+0

감사합니다. 많이 도움이되었습니다. –

2

이 오류는 ntdll의 코드가 액세스 할 수없는 가상 주소 0x00000048에 액세스하려고 시도한다는 것을 의미합니다. 어쩌면 당신은 ntdll에서 일부 함수를 호출하고 잘못된 포인터를 매개 변수로 전달합니다.

+0

Visual Studio2010 settings.Now에 추가 라이브러리를 포함하는 것을 잊어 버렸기 때문에이 예외가 발생했습니다. 이제 수정하고 작동합니다. 감사합니다. –

2

액세스 위반은 사용자가 아닌 메모리 주소를 읽는 것입니다. 읽기 주소가 매우 낮은 메모리를 감안할 때 클래스 또는 구조체에 대한 포인터가 실제로 null이고 코드가 해당 멤버 중 하나에 액세스하려고 시도한 것 같습니다.

+0

Visual Studio2010 settings.Now에 추가 라이브러리를 포함하는 것을 잊어 버렸기 때문에이 예외가 생겼다. 이제는 고칠 수있다. 감사합니다. –