Visual Studio에서 디버그 및 릴리스 구성 설정

Visual Studio 프로젝트에는 사용하는 프로그램에 대한 별도의 릴리스 및 디버그 구성이 있습니다. 디버그 버전은 디버깅용으로 빌드하고 릴리스 버전은 최종 릴리스 배포용으로 빌드합니다.

디버그 구성에서 프로그램은 완전히 기호화된 디버그 정보를 사용하여 컴파일되며 최적화되지 않습니다. 최적화하면 소스 코드와 생성된 명령 간의 관계가 복잡해지므로 디버깅이 복잡해집니다.

프로그램의 릴리스 구성에 완전히 최적화되고, 기호화된 디버그 정보는 없습니다. 관리 코드 및 C++ 코드의 경우 사용하는 컴파일러 옵션에 따라 .pdb 파일에서 디버그 정보가 생성될 수 있습니다. .pdb 파일을 만들면 나중에 릴리스 버전을 디버그해야 하는 경우 매우 유용할 수 있습니다.

빌드 구성에 대한 자세한 내용은 빌드 구성 이해를 참조하세요.

도구 모음의 빌드 메뉴나 프로젝트의 속성 페이지에서 빌드 구성을 변경할 수 있습니다. 프로젝트 속성 페이지는 언어마다 다릅니다. 다음 절차는 메뉴 및 도구 모음에서 빌드 구성을 변경하는 방법을 보여 줍니다. 서로 다른 언어로 된 프로젝트의 빌드 구성을 변경하는 방법에 대한 자세한 내용은 아래의 관련 콘텐츠 섹션을 참조하세요.

빌드 구성 변경

빌드 구성을 변경하려면 다음 중 하나를 수행하세요.

  • 도구 모음의 솔루션 구성 목록 상자에서 디버그 또는 릴리스를 선택합니다.

    toolbars build configuration

    또는

  • 빌드 메뉴에서 구성 관리자를 클릭한 다음, 디버그 또는 릴리스를 선택합니다.

빌드용 기호 파일(.pdb) 생성(C#, C++, Visual Basic, F#)

기호(.pdb) 파일 및 포함할 디버그 정보를 생성하도록 선택할 수 있습니다. 대부분의 프로젝트 형식에 대해 컴파일러는 기본적으로 디버그 및 릴리스 빌드에 대한 기호 파일을 생성하며, 다른 기본 설정은 프로젝트 형식 및 Visual Studio 버전에 따라 다릅니다.

Important

디버거는 실행 파일을 빌드할 때 만든 .pdb 파일과 정확히 일치하는 실행 파일의 .pdb 파일만 로드합니다. 즉, .pdb는 원본이거나 원본 .pdb 파일의 복사본이어야 합니다. 자세한 내용은 Why does Visual Studio require debugger symbol files to exactly match the binary files that they were built with?(Visual Studio에서 디버거 기호 파일이 빌드 기반이 된 이진 파일과 정확히 일치해야 하는 이유)를 참조하세요.

각 프로젝트 형식에는 이러한 옵션을 설정하는 다른 방법이 있을 수 있습니다.

C# 또는 ASP.NET Core 프로젝트에 대한 기호 파일 생성(.NET Core, .NET 5 이상만 해당)

C#의 디버그 구성을 위한 프로젝트 설정에 대한 자세한 내용은 C# 디버그 구성에 대한 프로젝트 설정을 참조하세요. (Visual Basic .NET 프로젝트의 경우 기호 파일은 .NET Framework와 동일하게 구성됩니다.)

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 왼쪽 창에서 빌드>일반을 선택합니다.

  3. 코드 최적화 섹션에서 디버그 또는 릴리스를 선택합니다.

  4. 디버그 기호 목록에서 PDB 파일, 현재 플랫폼, PBD 파일, 이식 가능 또는 포함을 선택합니다.

    이식 가능한 형식은 .NET Core에 대한 최신 플랫폼 간 형식입니다. 옵션에 대한 자세한 내용은 고급 빌드 설정 대화 상자(C#)를 참조하세요.

    Generate PDBs for builds in .NET

  5. 프로젝트를 빌드합니다.

    컴파일러가 실행 파일이나 기본 출력 파일과 동일한 폴더에 기호 파일을 만듭니다.

C#, ASP.NET 또는 Visual Basic 프로젝트에 대한 기호 파일 생성(.NET Framework)

C# 또는 Visual Basic의 디버그 구성을 위한 프로젝트 설정에 대한 자세한 내용은 C# 디버그 구성을 위한 프로젝트 설정 또는 Visual Basic 디버그 구성을 위한 프로젝트 설정을 참조하세요.

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 왼쪽 창에서 빌드를 선택합니다(또는 Visual Basic에서 컴파일 선택).

  3. 맨 위의 구성 목록에서 디버그 또는 릴리스를 선택합니다.

  4. 고급 단추를 선택합니다(또는 Visual Basic에서 고급 컴파일 옵션 단추 선택).

  5. 디버깅 정보 목록(또는 Visual Basic에서 디버그 정보 생성 목록)에서 전체, Pdb 전용 또는 이식 가능을 선택합니다.

    이식 가능한 형식은 .NET Core에 대한 최신 플랫폼 간 형식입니다. 옵션에 대한 자세한 내용은 고급 빌드 설정 대화 상자(C#)를 참조하세요.

    Generate PDBs for builds in C#

  6. 프로젝트를 빌드합니다.

    컴파일러가 실행 파일이나 기본 출력 파일과 동일한 폴더에 기호 파일을 만듭니다.

C++ 프로젝트용 기호 파일 생성

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 구성 목록에서 디버그 또는 릴리스를 선택합니다.

  3. 왼쪽 창에서 링커 > 디버깅을 선택한 다음, 디버그 정보 생성에 대한 옵션을 선택합니다.

    대부분의 C++ 프로젝트에서 기본값은 디버그 정보 생성(/DEBUG)입니다.

    C#의 디버그 구성을 위한 프로젝트 설정에 대한 자세한 내용은 C++ 디버그 구성에 대한 프로젝트 설정을 참조하세요.

  4. 프로그램 데이터베이스 파일 생성에 대한 옵션을 구성합니다.

    대부분의 C++ 프로젝트에서 기본값은 $(OutDir)$(TargetName).pdb입니다. 이 값은 출력 폴더에 .pdb 파일을 생성합니다.

    Generate PDBs for builds in C++

  5. 프로젝트를 빌드합니다.

    컴파일러가 실행 파일이나 기본 출력 파일과 동일한 폴더에 기호 파일을 만듭니다.