영어로 읽기

다음을 통해 공유


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

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

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

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

중요

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

디버그 탭

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여러 환경 사용 개발 및 섹션을 참조하세요.

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

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

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

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

빌드 탭

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

설정 묘사
일반>조건부 컴파일 기호 선택된 경우 DEBUG 및 TRACE 상수를 정의하십시오.

이러한 상수는 디버그 클래스Trace 클래스조건부 컴파일을 사용하도록 설정합니다. 이러한 상수가 정의되면 디버그 및 추적 클래스 메서드는 출력 창출력을 생성합니다. 이러한 상수가 없으면 디버그 및 추적 클래스 메서드가 컴파일되지 않으며 출력이 생성되지 않습니다.

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

디버그 기호

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

  • 기호가 내보내지 않습니다

    디버깅 정보가 생성되지 않음을 지정합니다.

  • 현재 플랫폼의 PDB 파일

    를 생성합니다. PDB 파일은 다른 도구, 특히 디버거를 제공하는 플랫폼별 기호 파일로, 주 실행 파일의 내용과 생성 방법에 대한 정보를 제공합니다.

  • PDB 파일, 이식 가능한

    .PDB 파일을 생성하며, 이 파일은 비 플랫폼별 이식 가능한 기호 파일로서, 다른 도구, 특히 디버거가 기본 실행 파일의 내용과 무엇을 통해 생성되었는지를 파악할 수 있도록 정보를 제공합니다. 자세한 내용은 이식 가능한 PDB 참조하세요.

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

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

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

참고 항목

  • 디버거 설정 및 준비