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# 컴파일러 옵션)를 참조하세요.