다음을 통해 공유


사용자 지정 디버그 엔진 등록

디버그 엔진 합니다 자체 규칙 COM 클래스 팩터리로 등록으로 Visual Studio 레지스트리 하위 키를 Visual Studio 등록 합니다.

참고

일환으로 만들어진 TextInterpreter 샘플을 찾을 수 있습니다 디버그 엔진에 등록 하는 방법의 예는 Tutorial: Building a Debug Engine Using ATL COM.

DLL 서버 프로세스

일반적으로 디버그 엔진 자체의 DLL COM 서버로 구현 됩니다. Visual Studio 액세스 하려면 디버그 엔진 CLSID는 클래스 팩터리를 COM에 등록 해야 하는 것을 의미 합니다. 디버그 엔진 자체 Visual Studio 자체 그렇지 않으면 라고 하는 메트릭 속성을 설정 하려면 디버그 등록 해야 후 엔진을 지원 합니다. 디버그 엔진은 Visual Studio 레지스트리 하위 키에 씁니다 메트릭 선택 디버그 엔진을 지 원하는 기능에 따라 달라 집니다.

디버깅에 대 한 SDK 도우미뿐만 아니라 레지스트리 위치를 디버그 엔진 등록 하는 데 필요한 결정 합니다. 또한 여러 유용한 기능 및 보다 쉽게 레지스트리를 조작 하는 c + + 개발자에 대 한 선언을 포함 하는 dbgmetric.lib 라이브러리를 설명 합니다.

예제

(TextInterpreter 샘플)에서 사용 하는 방법을 보여 주는 전형적인 예는 다음과 같습니다의 SetMetric 기능 (dbgmetric.lib)에서 디버그 엔진 Visual Studio 등록할 수 있습니다. 전달 되는 메트릭은 dbgmetric.lib에서 정의 됩니다.

참고

TextInterpreter 핵심 디버그 엔진입니다. 구현 하지 않는-하 고 있으므로 등록 되지-기타 기능.전체 디버그 엔진의 전체 목록을 것이 SetMetric 호출 또는 이와 동등한 각 디버그 엔진 기능에 대 한 지원 합니다.

// Define base registry subkey to Visual Studio.
static const WCHAR strRegistrationRoot[] = L"Software\\Microsoft\\VisualStudio\\8.0";

HRESULT CTextInterpreterModule::RegisterServer(BOOL bRegTypeLib, const CLSID * pCLSID)
{
    SetMetric(metrictypeEngine, __uuidof(Engine), metricName, L"Text File", false, strRegistrationRoot);
    SetMetric(metrictypeEngine, __uuidof(Engine), metricCLSID, CLSID_Engine, false, strRegistrationRoot);
    SetMetric(metrictypeEngine, __uuidof(Engine), metricProgramProvider, CLSID_MsProgramProvider, false, strRegistrationRoot);
   
    return base::RegisterServer(bRegTypeLib, pCLSID);
}

참고 항목

참조

디버깅에 대 한 SDK 도우미

기타 리소스

사용자 지정 디버그 엔진을 만들기

Tutorial: Building a Debug Engine Using ATL COM