none
VS2015에서 Driver프로젝트의 code-analysis실행시 컴파일러 에러가 발생합니다. RRS feed

  • 질문

  • OS 이름	Microsoft Windows 7 Enterprise K
    버전	6.1.7601 Service Pack 1 빌드 7601
    
    Microsoft Visual Studio Enterprise 2015
    버전 14.0.23107.0 D14REL
    Microsoft .NET Framework
    버전 4.6.00081
    설치된 버전: Enterprise
    
    Visual C++ 2015   00325-70000-42419-AA692
    Microsoft Visual C++ 2015
    
    Windows Driver Kit   10.0.10011.16384
    Headers, libraries, and tools needed to develop, debug, and test Windows drivers (msdn.microsoft.com/en-us/windows/hardware/gg487428.aspx)
    

    위는 제 PC의 환경입니다.

    Visual Studio 2015 + WDK10으로 드라이버 프로젝트를 빌드하였습니다.

    우선 정상적으로 드라이버가 빌드되어 바이너리로 생성되었습니다.

    드라이버 코드를 분석하고자 코드분석을 하였는데 다음과 같은 오류메시지가 출력되었습니다.

    1>------ 모두 다시 빌드 시작: 프로젝트: ProjectName, 구성: Debug Win32 ------
    1>  Building 'ProjectName' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
    1>  ProjectName.c
    1>ProjectName.c(623): fatal error C1001: 컴파일러에서 내부 오류가 발생했습니다.
    1>  (컴파일러 파일 'msc1.cpp', 줄 1393)
    1>   이 문제를 해결하려면 위 목록에 나오는 위치 부근의 프로그램을 단순화하거나 변경하십시오.
    1>  자세한 내용을 보려면 Visual C++ [도움말] 메뉴에서 [기술 지원] 명령을
    1>   선택하거나 기술 지원 도움말 파일을 참조하십시오.
    ========== 모두 다시 빌드: 성공 0, 실패 1, 생략 0 ==========

    x86 Debug빌드시 코드분석이 자동으로 되도록 설정하였으며, 분석 규칙에는 "Microsoft Driver Recommended Rules"를 선택하였습니다.

    C1001에 대한 오류코드를 검색해 보니 "가장 주된 원인이 되는 옵션은 /Og/Oi 및 /Oa입니다." 라는게 보여서 

    프로젝트속성 > C/C++ > 최적화 > 내장함수사용 을 아니요로 설정하였습니다.(/Oi 해제)

    최적화는 사용안함(/Od)로 설정하고 빌드해 보았지만 동일한 증상이 나타납니다.

    다음은 컴파일 옵션입니다.

    /GS /analyze- /W4 /wd"4748" /wd"4603" /wd"4627" /wd"4986" /wd"4987" /wd"4996" /Gy /Zc:wchar_t- /I"Debug\"

    /analyze:"stacksize1024" /Zi /Gm- /Od /Fd"Debug\vc140.pdb"

    /FI"C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\shared\warning.h" /Zc:inline /fp:precise

    /Zp8 /D "_DEBUG" /D "_X86_=1" /D "i386=1" /D "STD_CALL" /D "DEPRECATE_DDK_FUNCTIONS=1" /D "MSC_NOOPT"

    /D "_WIN32_WINNT=0x0A00" /D "WINVER=0x0A00" /D "WINNT=1" /D "NTDDI_VERSION=0x0A000000" /D "DBG=1"

    /errorReport:prompt /GF /WX /Zc:forScope /GR- /Gz /Oy- /Fa"Debug\" /nologo /Fo"Debug\" /Fp"Debug\SecureVolume.pch"

    해결에 대한 도움을 받을 수 있을까요?

    2015년 9월 3일 목요일 오전 7:35

모든 응답