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

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

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

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

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

  1. 솔루션 탐색기에서 C++ DLL 프로젝트를 선택합니다. 속성 아이콘을 선택하고 Alt+Enter를 누르거나 마우스 오른쪽 단추를 클릭하여 속성을 선택합니다.

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

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

  4. 실행할 디버거 목록에서 로컬 Windows 디버거 또는 원격 Windows 디버거를 선택합니다.

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

    Debug Properties window

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

  7. 확인을 선택합니다.

C# DLL 프로젝트에서 호출 앱 지정(.NET Core, .NET 5 이상)

  1. 솔루션 탐색기에서 C# 또는 Visual Basic DLL 프로젝트를 선택합니다. 속성 아이콘을 선택하고 Alt+Enter를 누르거나 마우스 오른쪽 단추를 클릭하여 속성을 선택합니다.

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

  3. 시작 프로필 대화 상자에서 새 프로필 만들기 아이콘을 선택하고 실행 파일을 선택합니다.

    Screenshot of the UI to create a new debug profile.

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

  5. 시작 프로필 대화 상자에서 기본 프로필의 이름을 적어 두고 기본 프로필을 선택하여 삭제합니다.

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

    또는 launchSettings.json을 수동으로 편집하여 동일한 결과를 얻을 수 있습니다. launchSettings.json의 첫 번째 프로필이 클래스 라이브러리의 이름과 일치하고 파일에서 먼저 나열되도록 하려는 것입니다.

관리형 DLL 프로젝트에서 호출 앱 지정

  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. 명령줄 인수 또는 애플리케이션 인수 필드에 필요한 명령줄 인수를 추가합니다.

    C# Debug Properties window

  5. 파일>선택한 항목 저장 또는 Ctrl+S를 사용하여 변경 내용을 저장합니다.

DLL 프로젝트에서 디버그

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

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

  3. 솔루션 구성 필드가 디버그로 설정되어 있는지 확인합니다. F5 키를 누르거나, 녹색 시작 화살표를 클릭하거나, 디버그>디버깅 시작을 선택합니다.

추가 팁:

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

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

  • 일부 시나리오에서는 디버거에 소스 코드 위치를 알려야 할 수 있습니다. 자세한 내용은 로드된 기호 없음/로드된 소스 없음 페이지 사용을 참조하세요.