직렬 연결을 통한 디버그

다른 버전의 Windows와 마찬가지로 팩터리 OS 디바이스에서 Windows 디버거를 사용하여 코드를 디버그할 수 있습니다. 설정을 가져오는 프로세스는 약간 다르지만 팩터리 OS 디바이스가 디버거에 연결되면 디버깅 프로세스는 다른 Windows 버전과 동일합니다.

Windows 시스템 키트에는 팩터리 OS 디바이스에서 디버거를 사용하도록 설정하는 PowerShell 유틸리티가 포함되어 있습니다. 이 항목에서는 로컬 VM에서 디버거에 대한 연결을 설정하는 방법을 보여 줍니다.

팩터리 OS 제품을 사용하는 경우 Debug-WcosDevice를 사용하지 않고 팩터리 OS 디바이스에서 디버거를 사용하도록 설정하는 커널 디버거 기능을 사용할 수 있습니다.

필요한 작업

디버깅을 시작하려면 다음이 필요합니다.

  • 관리자 PC
  • 관리자 PC에서 Hyper-V로 만든 팩터리 OS VM
    • 아래 예에서는 "팩터리 OS VM"이라는 이름을 사용합니다.
    • 보안 부팅이 꺼져 있습니다.
  • 관리자 PC에서 사용 가능한 Windows 시스템 키트

팩터리 OS 디버깅을 위해 PC 설정

1. 디버그할 팩터리 OS 디바이스 준비

또는

  • 커널 디버깅 기능이 아직 사용하도록 설정되지 않은 이미지가 있는 경우 Debug-WcosDevice 유틸리티를 관리자 PC에 추가합니다.

    관리 PowerShell 창을 사용하여 Windows 시스템 키트 ISO에서 로컬 PC로 debug-wcosdevice 파일을 복사합니다. 이러한 파일은 디버거를 팩터리 OS VM에 연결할 수 있게 해주는 PowerShell 모듈입니다.

    md "C:\Program Files\WindowsPowerShell\Modules\debug-wcosdevice"
    cd "C:\Program Files\WindowsPowerShell\Modules\debug-wcosdevice" 
    copy "K:\Program Files\Windows Kits\10\Tools\Scripts\debug-wcosdevice.*" 
    
    md "C:\Program Files (x86)\WindowsPowerShell\Modules\debug-wcosdevice"
    cd "C:\Program Files (x86)\WindowsPowerShell\Modules\debug-wcosdevice" 
    copy "K:\Program Files\Windows Kits\10\Tools\Scripts\debug-wcosdevice.*"
    

    여기서 K:는 WSK ISO의 루트입니다.

2. 직렬 포트 매핑

  1. 파일 탐색기에서 VM의 VHD를 두 번 클릭하여 탑재합니다.

  2. 관리 PowerShell 창을 사용하여 VM의 직렬 포트를 봅니다.

    Get-VMComPort -VMName "Factory OS VM"
    

    다음과 같은 출력이 표시됩니다.

    VMName       Name    Path
    ------       ----    ----
    Factory OS VM COM 1 
    Factory OS VM COM 2 
    
  3. COM1 포트 매핑:

    Set-VMComPort -VMName "Factory OS VM" -Path \\.\pipe\vmcom1  -Number 1
    

    vmcom1은 위에서 경로에 지정한 이름이지만 다른 이름을 선택할 수 있습니다.

  4. COM 1 포트가 매핑되었는지 확인합니다.

    Get-VMComPort -VMName "Factory OS VM"
    

    출력은 다음과 같습니다.

    VMName       Name  Path
    ------       ----  ----
    Factory OS VM COM 1  \\.\pipe\vmcom1
    Factory OS VM COM 2 
    

    이전 단계에서 매핑한 경로는 COM 1에 할당된 경로로 표시됩니다.

3. 디바이스에 연결하고 디버깅 시작

  1. 커널 디버깅 기능이 사용하도록 설정되지 않은 VM을 사용하는 경우 Debug-WcosDevice를 사용하여 커널 디버깅을 사용하도록 설정하도록 VHDX의 BCD 저장소를 구성합니다.

    Debug-WcosDevice -Transport  SERIAL  1   115200  -BootDebug
    

    -TransportSERIAL과 함께 사용되면 다음 옵션을 지정할 수 있습니다.

    매개 변수 형식 설명
    DEBUGPORT 디버그 포트는 1에서 99 사이일 수 있습니다.
    BAUDRATE 전송 속도는 300 이상일 수 있습니다.
    NOBAUD 이는 일부 시스템에서 원하지 않는 BAUD 속도를 설정하지 않도록 시스템에 지정합니다.
  2. 다른 Windows 디바이스와 마찬가지로 디바이스를 디버그합니다.