2016-12-05 8 views
0

일부 컴퓨터 (Windows 7 64 비트, Windows Server 표준 32 비트) 및 다른 컴퓨터 (Windows Server 2012 R2 64 비트, Windows 10 Pro 64 비트)에서 작동하는 Qt를 사용하는 응용 프로그램이 있습니다. SEH 예외. 나는 이것을 얼마 동안 디버깅하려했지만 루트를 찾는 법을 모른다.Qt5Core.dll이 깨짐

이 예외는 try/catch에 의해 발견되지 않으며 __try/__를 사용할 수 없습니다. 첫 번째 코드와 함께 사용할 수 없으며 코드에서 사용할 수 없다는 점을 제외하고는 예외입니다 (내가 정확하게 기억한다면) 푸는 것이 필요합니다.

Problem signature: 
    Problem Event Name: APPCRASH 
    Application Name: gpeh_parser.exe 
    Application Version: 0.0.0.0 
    Application Timestamp: 584051a0 
    Fault Module Name: Qt5Core.dll 
    Fault Module Version: 5.1.1.0 
    Fault Module Timestamp: 521a52ae 
    Exception Code: c0000005 
    Exception Offset: 00023087 
    OS Version: 6.3.9600.2.0.0.272.7 
    Locale ID: 11274 
    Additional Information 1: 5861 
    Additional Information 2: 5861822e1919d7c014bbb064c64908b2 
    Additional Information 3: 01d7 
    Additional Information 4: 01d7340064827245f2249cd1f1a7c264 

는 또한 windbg를 사용하려고하지만 (그것 때문에 내 아주 작은 경험이 될 수있는 입력해도) 문제의 뿌리를 찾을 수 없습니다.

무슨 일이 일어나고 있는지 알아 보려면 어떻게해야합니까?

+0

당신이 당신의 경로에 Qt는 다른 버전이없는 있는지 확인합니다. – drescherjm

+0

@drescherjm 컴퓨터간에 동일한 DLL을 복사하고 실행 파일 외에도 로컬로 사용하십시오. – mathiasfk

+1

ProcDump를 시도하십시오 - https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx – ManuelH

답변

0

컴파일러에서 enabling /EHa (구조적 예외 처리)을 사용하면 내 기본 예외 처리 코드 (try/catch)를 사용할 수 있으므로 문제가 해결되었습니다. 내 .PRO이 첨부하기

해냈어 :

win* { 
    QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa 
    QMAKE_CXXFLAGS_STL_ON = /EHa 
}