분석 할 크래시 미니 덤프가 있습니다. 내 프로그램은 멀티 스레드 Qt5 응용 프로그램입니다. 나는 디버깅 전문가는 아니지만 보통 프로그램이 실패한 곳을 쉽게 찾을 수 있지만 이번에는 할 수 없습니다. Visual Studio 2010에서 덤프 파일을 열어서 "Debug with native only"를 클릭하면 문제가있는 위치가 나에게 표시됩니다. "__CxxUnhandledExceptionFilter"위치의 스레드입니다. 호출 스택은 다음과 같습니다.크래시 덤프 분석 : CxxUnhandledExceptionFilter
msvcr100.dll()!_abort()
msvcr100.dll()!terminate()
program.exe!__CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS * pPtrs)
KERNELBASE.dll!_UnhandledExceptionFilter()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart()
프로그램 기능 및 Qt 내부 기능이있는 스택이 필요합니다. 그러나이 호출 스택은 나에게 아무런 재미가 없다고 알려줍니다. 그래서 "ExceptionFilter"가 무엇인지 알려주십시오. 프로그램이 실제로 실패한 곳을 어떻게 찾을 수 있습니까?
와우, 당신은 너무 빨리, 감사 답변 :) 예외 주소는 _RaiseException @ 16 함수임을 알 수 있듯이 kernelbase.dll을 가리 킵니다. 커널 결함입니까? – YuriM
@YuriM 롤,별로 가능성이 없습니다. 아마 잘못된 인수를 WinApi 함수에 넘겼거나 호출 한 코드를 입력했을 것입니다. 이러한 함수는 온 전성 검사를 수행하고 데이터가 마음에 들지 않으면 예외를 throw합니다. 나머지 주장을 조사 했니? 구조에 호출 스택 레코드가있을 수 있습니다. – sashoalm
나는 다음 주에 나중에 할 것입니다. – YuriM