Virtual Server 2005의 또는 가상 PC 2004 년 2 단계 2가 실행되는 컴퓨터의 가상 서버 서비스를 디버깅하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 871170 - 이 문서가 적용되는 제품 보기.
중요한 이 문서에는 레지스트리 수정에 대한 정보가 포함되어 있습니다. 레지스트리를 수정하기 전에 이를 백업하고 문제가 발생하는 경우 레지스트리를 복원하는 방법을 알고 있어야 합니다 확인하십시오. 백업, 복원 및 레지스트리 편집 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986Microsoft Windows 레지스트리에 대한 설명
모두 확대 | 모두 축소

이 페이지에서

소개

이 문서에서는 가상 컴퓨터 Virtual Server 2005의 또는 Microsoft 가상 PC 2004 실행하는 호스트 컴퓨터에서 디버깅하는 방법을 설명합니다. 이 문서에서는 컴퓨터에서 디버깅하는 방법에 대한 완전한 설명이 아닙니다. 대신, 이 문서에서는 기본 단계 및 가상 컴퓨터 환경에서 디버그 출력 얻기 위해 사용해야 하는 정보를 다룹니다. 이 문서에서는 2 2 아티클을 일부입니다. 1부 다른 문서에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
871171Virtual Server 2005의 또는 가상 PC 2004 년 2 1 일부로 실행되는 컴퓨터의 가상 서버 서비스를 디버깅하는 방법

추가 정보

경고 레지스트리 편집기를 잘못 사용하면 운영 체제를 다시 설치해야 하는 심각한 문제가 발생할 수 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용하여 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기를 따른 위험 부담은 사용자의 책임입니다.

가상 서버 서비스의 사용자 모드 디버그 구성

가상 서버의 사용자 모드 디버그 구성하려면 가장 적합한 경우에만 가상 서버 서비스의 덤프 파일이 필요한 경우 (Vssrvc.exe) 호스트 컴퓨터에서 서비스. 그러나, 가상 서버 서비스 디버그 및 가상 서버 서비스가 응답을 중지한 경우 호스트 컴퓨터가 응답하지 않을 수 있습니다. 따라서 두 가지 방법은 가상 서버 서비스의 사용자 모드 디버그 구성하는 데 사용됩니다. 이러한 방법 중 하나를 쉽게 구현할 수 있지만, 다른 메서드는 원하는 디버깅 정보를 얻는 데 보다 신뢰할 수 있는 메서드를 제공합니다.

방법 1: NTSD 사용

이 방법을 권장합니다. 이 메서드는 해당 Microsoft NT 심볼 디버거 (NTSD) 가상 서버 서비스를 시작하는 동안 첨부 및 호스트 컴퓨터에 연결된 커널 디버거를 통해 디버그 출력을 내보냅니다. 호스트 컴퓨터가 응답하지 않으면 이 시나리오에서 데이터를 수집하고 계속할 수 있습니다. 그러나 이 시나리오에서 로컬 디버깅 세션을 수행하고 있습니다. 따라서 디버깅 도구 함께 사용하여 기호 파일을 로컬 컴퓨터에 설치해야 할 수 있습니다. 로컬 호스트 컴퓨터에서 Breakin.exe 같은 다른 프로그램을 설치해야 할 수 있습니다.

참고 호스트 컴퓨터에서 이러한 도구를 설치하지 않으려는 경우 다른 컴퓨터에 설치 및 설치 폴더를 호스트 컴퓨터로 복사하십시오.

Vssrvc.exe 프로세스 디버그 출력을 얻으려면 NTSD 구성하려면 다음 이 단계를 수행하십시오.
  1. 메모리 덤프 파일을 구성하십시오. 이렇게 하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    303021서버가 응답을 멈출 때 메모리 덤프 파일을 생성하는 방법
    중요한 Microsoft 기술 자료 문서 303021 충돌할 때 컴퓨터가 방법에 대한 정보가 들어 있습니다. 이 문서에 나와 있는 지침은 커널 모드 덤프 파일을 구하는 데 사용됩니다. 그러나 사용자 모드 덤프 파일을 구하는 데 필요한 단계를 설명합니다. 따라서 가상 컴퓨터 크래시 지침을 따르지 않습니다.
  2. 커널 디버거를 Microsoft에서 다운로드하십시오. 이렇게 하는 방법에 대한 자세한 내용은 다음 웹 사이트 중 하나를 방문하십시오.
    http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

    http://www.microsoft.com/whdc/devtools/debugging/default.mspx
    최신 버전을 사용할 수 있는 커널 디버거에서 사용하는 것이 좋습니다. 또한 디버거의 사용자 지정 설치를 수행하는 것이 좋습니다. 이 시나리오에서는 \debuggers 설치 경로를 지정하십시오. 이 문서에서는 커널 디버거를 \debuggers 폴더에 설치되는 가정합니다.

    다음 명령과 현황을 유의하십시오.
    • g - 사용하면 가상 서버 서비스를 중지할 경우 또는 Vssrvc.exe 프로세스를 중단하려면 메모리 덤프 파일을 얻을 수 있습니다. 이 시나리오에서는 g 명령을 서비스에 이동할 수 있습니다. 서비스가 종료될 경우 성공적인 있습니다. 서비스가 종료되지 않은 경우 구역 나누기 다음에 나오에 대한 기다려야 합니다.
    • gN - 커널에서 나누기 나타나면 호스트 컴퓨터가 응답을 멈춥니다. 이 시나리오에서는 커널 디버거에서 수 있음을 나타내기 위해 변경 내용을 커널 디버그 메시지를 표시합니다. 이 시나리오에서는 가상 서버로 연결을 복원하려면 gN 입력합니다 서비스.

      사용자 모드 디버거를 세션 복원하려면 다음과 같이 하십시오.
      1. 컴퓨터에 로컬로 및 프로세스 ID (PID) 목록을 얻으려면 Tlist 명령 다음 실행 로그.
      2. breakin.exe PID of the service that you want to break in to 명령을 실행하십시오.
      참고 Vssrvc.exe 프로세스 중단 및 서비스에 이동하려면 g 입력하십시오. 이 가상 서버 서비스의 메모리 덤프 파일을 얻을 수 있는지 확인합니다.
  3. 가상 서비스를 시작 옵션을 구성하십시오. 이렇게 하려면 다음 레지스트리 값을 구성하십시오.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\vssrvc.exe


    값 이름: GlobalFlag
    값 형식이: REG_DWORD
    값 데이터: 0x00000000

    값 이름: 디버거
    값 형식이: 문자열
    값 데이터: "C:\\debuggers\\ntsd -d-g"

    참고 이 레지스트리 값을 "이스케이프된 백슬래시 사용합니다 (\) 문자를.
  4. 로컬 기호의 트리를 구성하십시오.

    참고 메모리 덤프 파일을 구하는 할 경우에는 이 단계를 건너뛸 수 있습니다.

    사용자가 프로세스에 디버그 작업을 수행하는 동안 중단 중인 때문에 로컬 컴퓨터에 있는 기호 트리가 구성해야 합니다. 이렇게 메모리 덤프 파일을 구하는 로컬 컴퓨터의 메모리 덤프 파일을 열고 다음 기호 트리를 작성할 수 있습니다. WinDbg 있는 덤프 파일을 열고 다음 경로를 사용하여 기호 트리를 작성할 수 있습니다.
    SRV * c: \ localstore *http://msdl.microsoft.com/download/symbols
    원격으로 기호를 참조합니다. 또한 Symchk 명령을 사용하여 직접 완전 기호로 트리를 오프라인으로 만들 수 있습니다. 기호 트리를 만들려면 밤 통해 이 명령을 실행할 수 있습니다. Symchk 명령을 사용하여 기호 트리를 만들려면 다음과 같이 하십시오.
    1. 다음 명령을 실행하십시오.
      symchk/r c:\Program Files\Microsoft 가상 서버/s SRV * c: \ localstore *http://msdl.microsoft.com/download/symbols
    2. 다음 명령을 실행하십시오.
      symchk/r c:\Windows\system32/s SRV * c: \ localstore *http://msdl.microsoft.com/download/symbols
      참고 이러한 각 명령의 한 줄 것입니다.
  5. 가상 컴퓨터 디버깅하십시오. 디버그 컴퓨터를 구성한 외부 디버거를 연결하십시오. 가상 서버 서비스가 시작될 때 다른 메시지를 받 및 디버거가 가상 서버 서비스에 대한 정보를 볼 수 있습니다. 서비스가 응답하지 않으면 디버깅 또는 다음 명령을 실행하여 간단한 메모리 덤프 파일을 구하는:
    .dump/ma/u c:\debuggers\vssrvc.dmp
    이 명령을 실행하면 g 명령을 실행하십시오.

    참고 서비스가 응답하지 위치를 시나리오 경우 덤프 명령을 두 번 이상 실행하십시오.
  6. 호스트 컴퓨터를 다시 시작하십시오. 호스트 컴퓨터가 다시 시작된 후 이벤트 로그를 전송하거나 있는 MPS 현재 버전의 덤프 파일 함께 출력 Microsoft에 보고합니다. 덤프 파일을 클 수 있으므로 WinZIP 같은 보관 프로그램을 사용하여 압축.

CDB 방법 2: 사용

Microsoft CDB 디버거를 vssrvc.exe 프로세스에서 디버그 출력을 얻을 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.
  1. 커널 디버거를 Microsoft에서 다운로드하십시오. 이렇게 하려면 다음 웹 사이트 중 하나를 방문하십시오.
    http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

    http://www.microsoft.com/whdc/devtools/debugging/default.mspx

    http://www.microsoft.com/whdc/devtools/debugging/default.mspx
    최신 버전을 사용할 수 있는 커널 디버거에서 사용하는 것이 좋습니다. 또한 디버거의 사용자 지정 설치를 수행하는 것이 좋습니다. 이 시나리오에서는 \debuggers 설치 경로를 지정하십시오. 이 문서에서는 커널 디버거를 \debuggers 폴더에 설치되는 가정합니다.
  2. 가상 서비스를 시작 옵션을 구성하십시오. 이렇게 하려면 다음 레지스트리 값을 구성하십시오.
    레지스트리 항목 1
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\vssrvc.exe


    값 이름: GlobalFlag
    값 형식이: REG_DWORD
    값 데이터: 0x00000000

    값 이름: 디버거
    값 형식이: 문자열
    값 데이터: "C:\\debuggers\\ntsd -d-g"

    참고 이 레지스트리 값을 "이스케이프된 백슬래시 사용합니다 (\) 문자를.
    레지스트리 항목 2
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug


    값 이름: 자동
    값 형식이: REG_DWORD
    값 데이터: 1

    값 이름: UserDebuggerHotKey
    값 형식이: REG_DWORD
    값 데이터: 0x00000000

    값 이름: 디버거
    값 형식이: 문자열
    값 데이터: "c:\\debuggers\\cdb.exe -p %ld -e %ld -g-c \".dump/ma/u C:\\WINDOWS\\user.dmp;q\""

    참고 이 레지스트리 값이 이스케이프된 백슬래시 문자를 사용합니다. 또한 이 레지스트리 값은 경로 끝에 따옴표 두 집합이 들어 있습니다.
  3. 가상 서버 서비스 디버그 가상 서버 컴퓨터를 다시 시작한 다음 디버그 출력 이벤트 로그를 함께 또는 현재 버전의 MPS 보고서 보냅니다.

    중요한 해당 덤프를 얻은 후 MPS 보고서 데이터 또는 이벤트 로그 정보를 얻습니다.

속성

기술 자료: 871170 - 마지막 검토: 2007년 11월 2일 금요일 - 수정: 2.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Virtual Server 2005 Standard Edition
  • Microsoft Virtual PC 2004
키워드:?
kbmt kbhowto kbinfo KB871170 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com