다음을 통해 공유


COM 서버 및 컨테이너 디버깅

COM 응용 프로그램은 프로그래머가 직접 제어할 수 없는 많은 작업을 수행합니다.DLL 사이의 통신, 개체 사용 횟수, 클립보드 작업 등 제한된 몇 가지 영역에서 프로그램이 비정상적으로 작동할 수 있습니다.이러한 문제가 발생하면 먼저 문제가 발생한 위치를 추적해야 합니다.

Visual Studio 디버거에서는 컨테이너와 서버 사이를 이동하면서 단계적으로 실행할 수 있습니다.RPC(원격 프로시저 호출) 사이에서 단계별 실행도 가능합니다.

항목 내용

  1. Debugging a COM Server and Container in the Same Solution

  2. Debugging a Server Application Without Container Information

  3. Debugging a Server and Domain Isolation (SDI) Application

COM 서버 및 컨테이너에서 동일한 솔루션 디버깅

동일한 솔루션 내에서 프로젝트 두 개를 사용하여 COM 서버와 컨테이너를 디버깅할 수 있습니다.각 프로젝트에 적절한 중단점을 설정하고 디버깅하십시오.컨테이너에서는 중단점에 도달하여 서버가 호출될 경우 디버깅이 완료되어 서버 코드가 반환될 때까지 대기합니다.프로세스 사이의 호출을 추적할 수도 있습니다.자세한 내용은 TRACE 매크로를 참조하십시오.

COM 컨테이너 디버깅은 표준 프로그램 디버깅과 유사합니다.그러나 컨테이너 응용 프로그램으로 데이터를 끌어 오는 경우처럼 콜백을 실행하는 이벤트가 디버깅될 때는 한 가지 차이점이 있습니다.이 경우에는 콜백 함수에 중단점을 설정해야 합니다.

컨테이너 정보 없이 서버 응용 프로그램 디버깅

가지고 있지 않은 또는 컨테이너 응용 프로그램에 대 한 디버깅 정보를 사용 하지 않으려는 경우 서버 응용 프로그램 디버깅을 시작 합니다. 3 단계 프로세스입니다.

  1. 일반적인 응용 프로그램처럼 서버 디버깅을 시작합니다.

  2. 원하는 대로 중단점을 설정합니다.

  3. 컨테이너 응용 프로그램을 시작합니다.

서버 및 도메인 격리 (SDI) 응용 프로그램 디버깅

SDI 서버 응용 프로그램을 디버깅할 때는 C/C++, C# 또는 Visual Basic 프로젝트에 대한 Project 속성 페이지 대화 상자에서 명령줄 인수 속성에 /Embedding 또는 /Automation을 지정해야 합니다.

이 명령줄 인수를 사용하면 컨테이너에서 실행하는 것처럼 디버거에서 서버 응용 프로그램을 실행할 수 있습니다.그런 다음 프로그램 관리자나 파일 관리자에서 컨테이너를 시작하면 컨테이너는 디버거에서 시작된 서버 인스턴스를 사용합니다.

Project 속성 페이지 대화 상자에 액세스하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 속성을 선택하십시오.명령줄 인수 속성을 찾으려면 구성 속성 범주를 확장하고 디버깅 페이지를 클릭하십시오.

참고 항목

기타 리소스

COM 및 ActiveX 디버깅