다음을 통해 공유


Visual Studio의 DLL 프로젝트에서 디버그(C#, C++, Visual Basic, F#)

DLL 프로젝트를 디버그하는 한 가지 방법은 DLL 프로젝트 속성에서 호출 앱을 지정하는 것입니다. 이 방법을 사용하면 DLL 프로젝트 자체에서 디버깅을 시작할 수 있습니다. 이 메서드가 작동하려면 앱이 구성한 것과 동일한 위치에서 동일한 DLL을 호출해야 합니다. 앱이 다른 버전의 DLL을 찾아 로드하는 경우 해당 버전에는 중단점이 포함되지 않습니다. DLL을 디버깅하는 다른 방법은 DLL 프로젝트 디버깅을 참조하십시오.

관리되는 앱이 네이티브 DLL을 호출하거나 네이티브 앱이 관리되는 DLL을 호출하는 경우 DLL과 호출 앱을 모두 디버그할 수 있습니다. 자세한 내용은 방법: 혼합 모드에서 디버그를 참조하세요.

네이티브 DLL 프로젝트와 관리되는 DLL 프로젝트에는 호출 앱을 지정하는 설정이 다릅니다.

네이티브 DLL 프로젝트에서 호출 앱 지정

  1. 솔루션 탐색기 C++ DLL 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성(Alt+Enter)을 선택합니다.

  2. <프로젝트> 속성 페이지 대화 상자에서 맨 위에 있는 구성 필드를 디버그로 설정합니다.

  3. 구성 속성>디버깅을 선택합니다.

  4. 실행할 디버거 목록을 확장하고 로컬 Windows 디버거 또는 원격 Windows 디버거를 선택합니다.

  5. 명령 또는 원격 명령 상자에서 호출 앱의 정규화된 경로 및 파일 이름(예: .exe 파일)을 추가합니다.

    명령의 값을 보여 주는 Visual Studio의 디버그 속성 창 스크린샷입니다.

  6. 필요한 프로그램 인수를 명령 인수 상자에 추가합니다.

  7. 확인을 선택합니다.

관리되는 DLL 프로젝트(.NET Core, .NET 5+)에서 호출 앱 지정

  1. 솔루션 탐색기 C# 또는 Visual Basic DLL 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성(Alt+Enter)을 선택합니다.

  2. 디버그 탭에서 디버그 시작 프로필 UI 열기를 선택합니다.

  3. Launch Profiles 대화 상자에서 Create a new profile 아이콘을 선택하고 실행 파일을 선택합니다.

    Visual Studio 2022에서 새 디버그 프로필을 만드는 UI 스크린샷입니다.

  4. 새 프로필의 실행 파일에서 실행 파일(.exe 파일)의 위치를 찾아 선택합니다.

  5. Launch Profiles 대화 상자에서 기본 프로필의 이름을 기록한 다음 프로필을 선택하고 삭제합니다.

  6. 새 프로필의 이름을 기본 프로필과 동일한 이름으로 바꿉니다.

    다른 방법은 launchSettings.json 파일을 수동으로 편집하는 것입니다. launchSettings.json 파일의 첫 번째 프로필이 클래스 라이브러리의 이름과 일치하고 프로필이 파일의 첫 번째 목록에 나열되기를 원합니다.

관리되는 DLL 프로젝트에서 호출 앱 지정(.NET Framework)

  1. 솔루션 탐색기 C# 또는 Visual Basic DLL 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성(Alt+Enter)을 선택합니다.

  2. 맨 위에 있는 구성 필드를 디버그로 설정합니다.

  3. 시작 작업에서:

    • .NET Framework DLL의 경우 외부 프로그램 시작을 선택하고 호출 앱의 정규화된 경로와 이름을 추가합니다.

    • 또는 URL로 브라우저 시작을 선택하고 로컬 ASP.NET 앱의 URL을 입력합니다.

    • Visual Basic의 .NET Core DLL의 경우 디버그 속성 페이지가 다릅니다. 시작 드롭다운을 확장하고 실행 파일을 선택한 다음, 실행 파일 필드에 호출 앱의 정규화된 경로와 이름을 추가합니다.
    • .NET Core DLL의 경우 디버그 속성 페이지가 다릅니다. 시작 드롭다운을 확장하고 실행 파일을 선택한 다음, 실행 파일 필드에 호출 앱의 정규화된 경로와 이름을 추가합니다.
  4. Command line arguments 또는 Application arguments 필드에 필요한 명령줄 인수를 추가합니다.

    Visual Studio의 C# 디버그 속성 창 스크린샷

  5. 변경 사항을 저장하려면 파일>선택한 항목 저장 (Ctrl+S)을 선택합니다.

DLL 프로젝트에서 디버그

  1. DLL 프로젝트에서 중단점을 설정합니다.

  2. DLL 프로젝트를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택합니다.

  3. 상단의 Solutions Configuration(솔루션 구성 ) 필드를 Debug(디버그)로 설정합니다. F5 키를 선택한 다음, 녹색 시작 화살표를 선택하거나 디버그>시작 디버깅을 선택합니다.

팁 (조언)

  • 디버깅이 중단점에 도달하지 않는 경우 DLL 출력(기본적으로 <project>\Debug 폴더)이 호출 앱의 대상 호출 위치인지 확인합니다.

  • 네이티브 DLL에서 관리되는 호출 앱의 코드를 중단하거나 그 반대로 하려면 혼합 모드 디버깅을 사용하도록 설정합니다.

  • 일부 시나리오에서는 소스 코드를 찾을 위치를 디버거에 지시해야 할 수 있습니다. 자세한 내용은 No Symbols Loaded/No Source Loaded 페이지 사용을 참조하세요.