직렬 연결을 통한 디버그
다른 버전의 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 디바이스 준비
- 커널 디버거를 사용하도록 설정하는 기능이 포함된 팩터리 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. 직렬 포트 매핑
파일 탐색기에서 VM의 VHD를 두 번 클릭하여 탑재합니다.
관리 PowerShell 창을 사용하여 VM의 직렬 포트를 봅니다.
Get-VMComPort -VMName "Factory OS VM"다음과 같은 출력이 표시됩니다.
VMName Name Path ------ ---- ---- Factory OS VM COM 1 Factory OS VM COM 2COM1 포트 매핑:
Set-VMComPort -VMName "Factory OS VM" -Path \\.\pipe\vmcom1 -Number 1vmcom1은 위에서 경로에 지정한 이름이지만 다른 이름을 선택할 수 있습니다.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. 디바이스에 연결하고 디버깅 시작
커널 디버깅 기능이 사용하도록 설정되지 않은 VM을 사용하는 경우
Debug-WcosDevice를 사용하여 커널 디버깅을 사용하도록 설정하도록 VHDX의 BCD 저장소를 구성합니다.Debug-WcosDevice -Transport SERIAL 1 115200 -BootDebug-Transport가SERIAL과 함께 사용되면 다음 옵션을 지정할 수 있습니다.매개 변수 형식 설명 DEBUGPORT 디버그 포트는 1에서 99 사이일 수 있습니다. BAUDRATE 전송 속도는 300 이상일 수 있습니다. NOBAUD 이는 일부 시스템에서 원하지 않는 BAUD 속도를 설정하지 않도록 시스템에 지정합니다. 다른 Windows 디바이스와 마찬가지로 디바이스를 디버그합니다.