/Z7, /Zi, /ZI(디버깅 정보 형식)

프로그램에 대해 만들어진 디버깅 정보의 형식 및 이 정보가 개체 파일(.obj)에 저장될지 아니면 프로그램 데이터베이스(PDB)에 저장될지의 여부를 선택합니다.

/Z{7|i|I}

설명

다음 표에서는 이 옵션에 대해 설명합니다.

  • 없음
    디버깅 정보를 생성하지 않으므로 컴파일 속도가 빨라집니다.

  • /Z7
    디버거와 함께 사용할 모든 기호 디버깅 정보가 들어 있는 .obj 파일을 생성합니다. 기호화된 디버깅 정보에는 함수와 줄 번호 뿐만 아니라 변수의 이름과 형식이 포함되어 있습니다. .pdb 파일은 생성되지 않습니다.

    타사 라이브러리 배포자의 경우 .pdb 파일을 사용할 필요가 없다는 이점이 있습니다. 그러나 미리 컴파일된 헤더에 대한 .obj 파일이 링크 단계와 디버깅 과정에 필요합니다. .pch 개체 파일에 코드가 없고 형식 정보만 있는 경우 컴파일할 때 /Yl(디버그 라이브러리에 PCH 참조 넣기)도 사용해야 합니다.

  • /Zi
    디버거에서 사용할 기호화된 디버깅 정보와 형식 정보가 포함된 프로그램 데이터베이스(PDB)를 생성합니다. 기호화된 디버깅 정보에는 함수와 줄 번호 뿐만 아니라 변수의 이름과 형식이 포함되어 있습니다.

    /Zi는 최적화에 영향을 주지 않습니다. 그러나 /Zi를 사용하면 /debug도 자동으로 사용됩니다. 자세한 내용은 /DEBUG(디버깅 정보 생성)를 참조하십시오.

    형식 정보가 .obj 파일이 아닌 .pdb 파일에 저장됩니다.

    /Gm(최소 다시 빌드 사용)/Zi는 함께 사용할 수 있지만 /Z7을 사용하여 컴파일할 때는 /Gm을 사용할 수 없습니다.

    /Zi/clr을 사용하여 컴파일하는 경우 DebuggableAttribute 특성은 어셈블리 메타데이터에 포함되지 않습니다. 이 특성을 사용하려면 소스 코드를 통해 지정해야 합니다. 이 특성은 응용 프로그램의 런타임 성능에 영향을 줄 수 있습니다. Debuggable 특성을 사용하여 성능에 영향을 주는 방법 및 성능 영향을 수정하는 방법에 대한 자세한 내용은 쉽게 디버깅할 수 있도록 이미지 만들기를 참조하십시오.

  • /ZI
    위에 설명된 대로, 편집하며 계속하기 기능을 지원하는 형식으로 프로그램 데이터베이스를 생성합니다. 편집하며 계속하기 디버깅을 사용하려는 경우, 이 옵션을 사용해야 합니다. 대부분의 최적화는 편집하며 계속하기와 호환되지 않으므로, /ZI를 사용하면 코드의 모든 #pragma optimize 문이 비활성화됩니다.

    /ZI를 사용하면 컴파일에 /Gy(함수 수준 링크 사용)/FC(진단 소스 코드 파일의 전체 경로)가 사용됩니다.

    /ZI/clr(공용 언어 런타임 컴파일)와 함께 사용할 수 없습니다.

    참고

    /ZI는 x86을 대상으로 한 컴파일러에서만 사용할 수 있습니다. x64 또는 IPF(Itanium Processor Family)를 대상으로 한 컴파일러에서는 이 컴파일러 옵션을 사용할 수 없습니다.

컴파일러는 프로그램 데이터베이스의 이름을 project.pdb로 지정합니다. 프로젝트 없이 파일을 컴파일하는 경우 컴파일러는 VCx0.pdb라는 데이터베이스를 만듭니다. 여기서 x는 사용 중인 Visual C++의 주 버전입니다. 컴파일러는 이 옵션을 사용하여 만든 각 .obj 파일에 기호화된 정보와 줄 번호 정보의 위치를 가리키는 PDB의 이름을 포함합니다. 이 옵션을 사용하면 디버깅 정보가 .obj 파일이 아닌 .pdb 파일에 저장되므로 .obj 파일은 작아집니다.

이 옵션을 사용하여 컴파일된 개체에서 라이브러리를 만드는 경우, 라이브러리가 프로그램에 연결될 때 관련된 .pdb 파일을 사용할 수 있어야 합니다. 따라서 라이브러리를 분산하는 경우, PDB도 분산해야 합니다.

.pdb 파일을 사용하지 않고 디버깅 정보가 포함된 라이브러리를 만들려면, 컴파일러의 C 7.0 호환 옵션(/Z7)을 사용해야 합니다. 미리 컴파일된 헤더 옵션을 사용하는 경우, 미리 컴파일된 헤더와 소스 코드의 나머지 부분 모두에 대한 디버깅 정보가 PDB에 저장됩니다. /Yd 옵션은 프로그램 데이터베이스 옵션이 지정되면 무시됩니다.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.

  2. C/C++ 폴더를 클릭합니다.

  3. 일반 속성 페이지를 클릭합니다.

  4. 디버깅 정보 형식 속성을 수정합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

참조

컴파일러 옵션

컴파일러 옵션 설정