다음을 통해 공유


/DEBUG (디버그 정보 생성)

/DEBUG 링커 옵션은 실행 파일에 대한 디버깅 정보 파일을 만듭니다.

구문

/DEBUG[:{FASTLINK||FULLNONE}]

설명

/DEBUG 옵션은 연결된 개체 및 라이브러리 파일의 디버깅 정보를 PDB(프로그램 데이터베이스) 파일에 넣습니다. 그리고 프로그램의 후속 빌드 과정에서 PDB를 업데이트합니다.

디버깅을 위해 만든 실행 파일(EXE 또는 DLL 파일)에는 해당 PDB의 이름과 경로가 포함됩니다. 프로그램을 디버그할 때 디버거는 포함된 이 이름을 읽고 PDB를 사용합니다. 링커는 프로그램의 기본 이름과 확장을 .pdb 사용하여 프로그램 데이터베이스의 이름을 지정하고 생성된 경로를 포함합니다. 이 기본값을 재정의 /PDB 하려면 옵션을 설정하고 다른 파일 이름을 지정합니다.

/DEBUG:FASTLINK 옵션은 Visual Studio 2017 이상에서 사용할 수 있습니다. 이 옵션은 전체 복사본을 만드는 대신 실행 파일을 빌드하는 데 사용되는 개체 파일 및 라이브러리의 디버그 정보를 인덱싱하는 제한된 PDB를 생성합니다. 이 제한된 PDB만 사용하여 이진 파일 및 해당 라이브러리가 빌드된 컴퓨터에서 디버그할 수 있습니다. 다른 곳에 이진 파일을 배포하는 경우 빌드 컴퓨터에서 원격으로 디버그할 수 있지만 테스트 컴퓨터에서는 직접 디버그할 수 없습니다. Visual Studio 2019 /DEBUG:FULL 이후 연결 시간이 크게 향상되었으며 /DEBUG:FASTLINK 항상 보다 /DEBUG:FULL빠른 것은 아닙니다. /DEBUG:FASTLINK 더 이상 빌드 시간이 크게 향상되지 않고 디버깅 환경/DEBUG:FULL이 느려지므로 이 옵션은 더 이상 권장되지 않습니다.

PDB는 /DEBUG:FASTLINK 로컬 디버깅을 위해 테스트 머신에 배포할 수 있는 전체 PDB로 변환할 수 있습니다. Visual Studio에서 아래 설명된 대로 속성 페이지 대화 상자를 사용하여 프로젝트 또는 솔루션에 대한 전체 PDB를 만듭니다. 개발자 명령 프롬프트에서 도구를 사용하여 mspdbcmf.exe 전체 PDB를 만들 수 있습니다.

/DEBUG:FULL 옵션은 개별 컴파일 제품(개체 파일 및 라이브러리)의 모든 개인 기호 정보를 단일 PDB로 이동하며 링크에서 가장 많은 시간이 소요될 수 있습니다. 그러나 실행 파일이 배포되는 경우처럼 다른 빌드 제품을 사용할 수 없는 경우에는 전체 PDB를 사용하여 실행 파일을 디버그할 수 있습니다.

/DEBUG:NONE 옵션은 PDB를 생성하지 않습니다.

추가 인수 없이 지정하는 /DEBUG 것은 지정하는 /DEBUG:FULL것과 같습니다.

컴파일러의 /Z7 (C7 호환) 옵션을 사용하면 컴파일러가 OBJ(개체) 파일에 디버깅 정보를 남겨 둡니다. (Program Database) 컴파일러 옵션을 사용하여 /Zi OBJ 파일에 대한 PDB에 디버깅 정보를 저장할 수도 있습니다. 링커는 OBJ 파일에 기록된 절대 경로에서 개체의 PDB를 먼저 찾은 다음 OBJ 파일이 포함된 디렉터리에서 찾습니다. 링커에 대한 개체의 PDB 파일 이름 또는 위치를 지정할 수 없습니다.

/INCREMENTAL 가 지정될 때 /DEBUG 암시됩니다.

/DEBUG옵션 REF 의 기본값을 변경합니다 NOICFNOREF ICF. 따라서 원래 기본 /OPT 값을 원하는 경우 옵션을 명시적으로 지정하거나 /OPT:ICF 그 뒤를 /DEBUG 지정 /OPT:REF 해야 합니다.

디버그 정보를 포함하는 EXE 또는 DLL을 만들 수 없습니다. 디버그 정보는 항상 OBJ 또는 PDB 파일에 배치됩니다.

Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 링커>디버깅 속성 페이지를 선택합니다.

  3. PDB 생성을 사용하거나 사용하지 않도록 디버그 정보 생성 속성을 수정합니다. 이 속성은 /DEBUG:FASTLINK Visual Studio 2017 이상에서 기본적으로 사용하도록 설정합니다.

  4. 모든 증분 빌드에 대해 전체 PDB 생성을 사용하도록 전체 /DEBUG:FULL 프로그램 데이터베이스 파일 생성 속성을 수정합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

  1. GenerateDebugInformation을(를) 참조하세요.

참고 항목

MSVC 링커 참조
MSVC 링커 옵션