다음을 통해 공유


방법: 관리되는 장치 프로세스에 연결

업데이트: 2007년 11월

장치의 프로세스에 연결하는 방법은 데스크톱에서와 거의 같지만 디버거 없이 프로세스가 이미 실행 중인 경우 관리되는 디버깅을 활성화하려면 장치에서 레지스트리 키를 설정해야 합니다. 이 키의 설정은 변경하기 전까지 유지되며 에뮬레이터의 경우에는 설정을 저장하지 않고 에뮬레이터를 닫을 때까지 유지됩니다.

참고:

장치 디버그 키를 설정하면 성능이 저하됩니다. 따라서 디버깅을 수행하지 않을 때는 키를 다시 설정하십시오.

두 디버거를 연결하려고 하거나 장치 레지스트리 키가 설정되지 않았는데 관리되는 디버거로 연결하려고 하면 오류 메시지가 나타납니다.

파일 탐색기, 명령 프롬프트 등의 몇 가지 방법으로 프로세스를 시작할 수 있습니다. 다음 단계에서는 디버그 메뉴에서 프로세스를 시작합니다. 관리되는 디버거 없이 프로세스를 시작한 다음 나중에 연결할 수도 있습니다.

Platform Builder에서 생성된 Windows CE 플랫폼을 대상으로 하는 경우에는 toolhelp.dll 라이브러리로 사용 가능한 프로세스 창을 채워야 합니다. 이 라이브러리는 Windows Mobile SDK에 포함되어 있습니다.

참고:

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

관리되는 프로세스 디버그

관리되는 프로세스를 디버그하려면

  • 디버그 메뉴에서 시작을 클릭합니다.

    참고:

    디버그 메뉴에서 시작된 프로세스에서 분리하는 경우에는 프로세스가 실행된 후 연결하기 위한 다음 단계를 수행해야 다시 연결할 수 있습니다. 즉, 장치에 레지스트리 키를 설정해야 합니다.

이미 실행 중인 관리되는 프로세스에 연결

예를 들어, 디버깅하지 않고 시작을 클릭한 다음 실행 중인 관리되는 프로세스에 연결함으로써 이미 실행 중인 프로세스에 연결하려면 프로세스가 시작되기 전에 그리고 프로세스에 연결 대화 상자를 사용하여 연결을 시도하기 전에 먼저 장치 레지스트리 키를 설정해야 합니다. 자세한 단계는 다음과 같습니다.

실행 중인 프로세스에 연결할 수 있도록 장치 레지스트리 키를 설정하려면

  1. Windows의 시작 메뉴에서 모든 프로그램, Microsoft Visual Studio 2008, Visual Studio Tools를 차례로 가리킨 다음 원격 레지스트리 편집기를 클릭합니다.

  2. Remote Registry Editor를 사용하여 장치에 연결합니다.

  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger 키로 이동하거나 이 키를 만듭니다.

  4. AttachEnabled라는 DWORD 값을 설정하거나 만듭니다.

  5. 이 값의 데이터를 1로 설정합니다.

    참고:

    장치 디버그 키를 설정하면 성능이 크게 저하됩니다. 디버깅을 수행하고 있지 않을 때는 데이터 값을 0으로 설정하거나 AttachEnabled 값을 삭제하여 관리되는 연결을 비활성화합니다.

  6. Remote Registry Editor를 닫습니다.

    관리되는 연결이 활성화되었습니다. 이제 디버거 없이 프로세스를 시작한 다음 프로세스에 연결 대화 상자를 사용하여 프로세스에 연결할 수 있습니다.

프로세스가 실행된 후 관리되는 프로세스에 연결하려면

  1. 이전 단계에서 설명한 것처럼 레지스트리 키를 설정한 후 디버거 없이 프로세스를 시작합니다.

  2. 도구 메뉴에서 프로세스에 연결을 클릭합니다.

  3. 전송 상자에서 스마트 장치를 클릭합니다.

  4. 한정자 상자에서 찾아보기를 클릭합니다.

    참고:

    한정자 상자에는 현재 세션에서 최근 사용된 장치가 미리 입력되어 있습니다.

  5. 장치에 연결 대화 상자에서 플랫폼을 선택하고 장치를 선택한 다음 연결을 클릭합니다.

  6. 사용 가능한 프로세스 창에서 연결할 하나 이상의 프로세스를 선택한 다음 연결을 클릭합니다.

    참고:

    기본적으로 코드 형식은 사용 가능한 경우 자동으로 관리(.NET Compact Framework)로 설정되고 그렇지 않은 경우에는 네이티브(스마트 장치)로 설정됩니다. 기본 설정을 재정의하려면 선택을 클릭하여 코드 형식 선택 대화 상자를 엽니다. 둘 다 동시에 선택할 수는 없습니다.

    참고:

    Interop 디버깅은 지원되지 않습니다. 즉, 관리되는 코드 형식과 네이티브 코드 형식을 동시에 디버그할 수 없습니다.

프로세스에서 분리 또는 프로세스 종료

프로세스에서 분리하거나 프로세스를 종료하려면

  1. 디버그 메뉴에서 창을 가리킨 다음 프로세스를 클릭합니다.

  2. 프로세스 창에서 분리하거나 종료할 프로세스를 마우스 오른쪽 단추로 클릭합니다.

  3. 바로 가기 메뉴에서 프로세스 종료 또는 프로세스 분리를 클릭합니다.

    참고:

    이 바로 가기 메뉴에서 프로세스에 연결 대화 상자를 다시 열 수도 있습니다.

사용 가능한 프로세스 창 채우기

Windows CE 프로젝트에서 사용 가능한 프로세스 창을 채우려면

  • Windows CE OS 이미지에 toolhelp.dll을 포함시킵니다.

    — 또는 —

    toolhelp.dll 파일을 대상 장치에 직접 복사합니다.

참고 항목

작업

연습: 관리 코드와 네이티브 코드가 모두 포함된 솔루션 디버깅

개념

Visual C++ 장치 프로젝트 빌드 및 디버깅

기타 리소스

장치 프로젝트 디버깅