C# 디버그 구성을 위한 프로젝트 설정(.NET Core, .NET 5 이상, ASP.NET Core)

프로젝트 속성 페이지의 디버그 탭빌드 탭에서 C# 프로젝트 디버그 설정을 변경할 수 있습니다.

속성 페이지를 열려면 솔루션 탐색기에서 C/C++ DLL 프로젝트를 선택한 다음 속성 아이콘을 선택하거나 프로젝트를 마우스 오른쪽 단추로 클릭하여 속성을 선택합니다.

자세한 내용은 디버그 및 릴리스 구성을 참조하세요.

Important

이 설정은 .NET Framework 또는 UWP 앱에는 적용되지 않습니다. .NET Framework를 위한 디버그 설정을 구성하려면 C# 디버그 구성을 위한 프로젝트 설정을 참조하세요.

디버그 탭

Visual Studio 2022부터 디버그 탭에서 디버그 시작 프로필 UI 열기를 선택하여 시작 프로필 UI를 열고 디버그 설정을 변경합니다.

시작 프로필(.NET Core, .NET 5 이상)

설정 설명
명령줄 인수 디버깅될 앱에 대한 명령줄 인수를 지정합니다. 명령 이름은 시작 외부 프로그램에 지정된 앱 이름입니다.
작업 디렉터리 디버깅 중인 앱의 작업 디렉터리를 지정합니다. C#에서 작업 디렉터리는 기본적으로 \bin\debug입니다.
원격 컴퓨터 사용 원격 디버깅의 경우 이 옵션을 선택하고 원격 디버깅 대상의 이름을 입력하거나 Msvsmon 서버 이름을 입력합니다.
원격 컴퓨터에서 앱의 위치는 빌드 탭의 출력 경로 속성에 의해 지정됩니다. 위치는 원격 컴퓨터에서 공유 가능한 디렉터리여야 합니다.
환경 변수 애플리케이션 프로세스를 실행하기 전에 환경 변수를 설정합니다. ASP.NET Core의 경우 환경을 참조하세요.
비관리 코드 디버깅 사용 관리형 앱에서 네이티브(비관리) Win32 코드에 대한 호출을 디버깅합니다.
SQL Server 디버깅 사용 SQL Server 데이터베이스 개체를 디버그합니다.
WebView2 디버깅 사용 Microsoft Edge(Chromium) 기반 디버거를 사용하여 JavaScript를 디버그합니다.

시작 프로필(ASP.NET Core)

.NET 5 이상의 속성 외에도 ASP.NET Core 시작 프로필에는 다양한 ASP.NET Core 프로필의 몇 가지 추가 속성이 포함됩니다. 이 설정은 프로젝트의 launchSettings.json 파일에 대한 간단한 UI를 제공합니다. 이 파일에 대한 자세한 내용은 ASP.NET Core에서 여러 환경 사용의 개발 및 launchSettings.json 섹션을 참조하세요.

시작 프로필 UI에 제공된 설정에는 다음이 포함됩니다.

설정 설명
브라우저 시작 Url 설정에 설정된 URL을 사용하여 디버깅을 시작할 때 기본 브라우저를 시작할지를 선택합니다.
Url .NET 또는 .NET Core 호스트 URL의 위치를 지정합니다. 프로젝트를 따라 이름이 지정된 프로필의 경우(즉, launchSettings.json의 commandName 속성이 Project인 경우) Kestrel 서버는 지정된 포트를 수신 대기합니다. IIS 프로필의 경우 이 값은 일반적으로 앱 URL 값과 같습니다. 자세한 내용은 프로젝트 구성의 IIS 시작 프로필 섹션을 참조하세요.
앱 URL 애플리케이션 URL을 지정합니다. 프로젝트를 따라 이름이 지정된 프로필의 경우 이 속성은 Kestrel 서버 URL을 지정합니다(일반적으로 https://localhost:5001 및 http://localhost:5000 ).

Visual Studio는 기본적으로 IIS Express 프로필을 제공하며 사용자는 IIS 프로필과 같은 추가 프로필을 만들 수 있습니다. 이 설정은 launchSettings.json의 설정에도 해당합니다. 이러한 두 프로필 유형은 호스팅 모델과 같은 몇 가지 설정을 제공합니다.

설정 설명
호스팅 모델 In Process(기본값) 또는 Out of Process를 지정합니다. 자세한 내용은 ASP.NET Core Docs의 호스팅 모델을 참조하세요.
앱 SSL URL IIS Express의 경우 앱 SSL URL은 일반적으로 http://localhost:44334.입니다.

빌드 탭

다음 표에서는 디버깅에 유용한 빌드 설정을 보여줍니다. 빌드 설정에 대한 전체 설명은 페이지, 프로젝트 디자이너 빌드 페이지를 참조하세요.

설정 설명
일반>조건부 컴파일 기호: 선택한 경우 DEBUG 및 TRACE 상수를 정의합니다.

이 상수를 사용하면 조건에 따라 Debug 클래스Trace 클래스를 컴파일할 수 있습니다. 이 상수를 정의하면 Debug 및 Trace 클래스 메서드의 결과가 출력 창에 표시됩니다. 이 상수를 정의하지 않으면 Debug 및 Trace 클래스 메서드가 컴파일되지 않으므로 결과가 생성되지 않습니다.

Debug 상수는 일반적으로 빌드의 디버그 버전에 정의되고 릴리스 버전에는 정의되지 않습니다. TRACE는 일반적으로 디버그 및 릴리스 버전에 모두 정의됩니다.
일반>코드 최적화 버그가 최적화된 코드에만 표시되는 경우를 제외하고 디버그 빌드에 대해서는 이 설정을 선택하지 않은 상태로 둡니다. 코드를 최적화하면 명령이 소스 코드에 있는 문에 직접 대응되지 않기 때문에 디버깅하기 어렵습니다.
디버그 기호 컴파일러에서 생성되는 디버깅 정보 형식을 지정합니다. 디버그 기호를 참조하세요. 애플리케이션의 디버그 성능을 구성하는 방법에 대한 자세한 내용은 쉽게 디버깅할 수 있도록 이미지 만들기를 참조하세요.
출력>기본 출력 경로 중간 출력의 기본 폴더를 지정합니다. 출력은 일반적으로 디버그 빌드의 bin\Debug로 이동합니다.
출력>기본 중간 출력 경로 중간 출력의 기본 폴더를 지정합니다. 출력은 일반적으로 디버그 빌드의 obj\Debug로 이동합니다.

디버그 기호

디버그 기호에 대해 다음 옵션을 선택할 수 있습니다.

  • 내보낸 기호 없음

    디버깅 정보가 생성되지 않도록 지정합니다.

  • PDB 파일, 현재 플랫폼

    플랫폼별 기호 파일인 .PDB 파일을 생성합니다. 이 파일은 기본 실행 파일의 콘텐츠 및 해당 콘텐츠 생성 방식에 대한 정보를 다른 도구(특히, 디버거)에 제공합니다.

  • PDB 파일, 이식 가능

    플랫폼과 관련되지 않은 이식 가능한 기호 파일인 .PDB 파일을 생성합니다. 이 파일은 기본 실행 파일의 콘텐츠 및 해당 콘텐츠 생성 방식에 대한 정보를 특히 디버거와 같은 다른 도구에 제공합니다. 자세한 내용은 Portable PDB(이식 가능한 PDB)를 참조하세요.

  • DLL/EXE에 포함됨, 플랫폼 간에 이식 가능

    이식 가능한 기호 정보를 어셈블리에 포함합니다. 외부 .PDB 파일은 생성되지 않습니다.

자세한 내용은 /debug(C# 컴파일러 옵션)를 참조하세요.

참고 항목