Debug-WcosDevice를 사용하여 디버깅 사용
Debug-WcosDevice는 팩터리 OS 디바이스에서 BCD를 수정하여 디버거를 설정할 수 있도록 하는 WSK에 포함된 PowerShell 유틸리티입니다.
Debug-WcosDevice를 실행하여 다음과 같은 방식으로 액세스할 수 있는 팩터리 OS 디바이스를 구성할 수 있습니다.
- 관리자 PC에 탑재된 VHD
- TShell을 통해(팩터리 OS만 해당)
PowerShell에서 유틸리티 로드
Debug-WcosDevice 유틸리티를 실행하려면 먼저 관리자 PC에서 사용할 수 있도록 설정해야 합니다. 필요할 때마다 PowerShell로 가져오거나 PowerShell이 시작될 때 자동으로 로드할 수 있습니다.
옵션 1: 단일 PowerShell 세션에서 사용할 Debug-WcosDevice 로드
Set-Location 'D:\Program Files\Windows Kits\10\Tools\Scripts\'
Import-Module .\Debug-WcosDevice.psm1
여기서 D:\는 WSK의 위치입니다.
옵션 2: 기본적으로 Debug-WcosDevice 로드
다음 파일을 PowerShell 모듈 폴더에 복사하여 PowerShell이 시작될 때마다 Debug-WcosDevice 유틸리티를 로드하도록 관리자 PC에서 PowerShell을 구성할 수 있습니다.
md "C:\Program Files\WindowsPowerShell\Modules\debug-WcosDevice"
cd /D "C:\Program Files\WindowsPowerShell\Modules\debug-WcosDevice"
copy D:\Program Files\Windows Kits\10\Tools\Scripts\Debug-WcosDevice\*ps?1
md "C:\Program Files (x86)\WindowsPowerShell\Modules\debug-WcosDevice"
cd /D "C:\Program Files (x86)\WindowsPowerShell\Modules\debug-WcosDevice"
copy D:\\Program Files\Windows Kits\10\Tools\Scripts\Debug-WcosDevice\*ps?1
여기서 D:\는 Windows 시스템 키트 미디어 또는 설치의 루트입니다.
BCD 파일에 액세스
Debug-WcosDevice를 실행하고 디버깅을 구성하려면 팩터리 OS 이미지의 BCD 파일에 액세스할 수 있어야 합니다. 이렇게 하려면 다음을 수행합니다.
팩터리 OS 이미지의 BCD 파일에 액세스할 수 있으면 Debug-WcosDevice 작업을 시작할 수 있습니다.
디버깅을 사용하도록 설정하도록 BCD 파일 구성
관리 PowerShell 프롬프트에서 Debug-WcosDevice를 사용하여 팩터리 OS 디바이스의 BCD를 수정하여 디버깅을 사용합니다. 디버깅이 사용하도록 설정된 후 디버깅 프로세스는 다른 Windows 디바이스와 동일합니다.
Debug-WcosDevice 사용
디버거에 대한 연결을 설정하려면 Debug-WcosDevice를 실행하고 디버거 및 관련 매개 변수에 대한 전송(네트워크, USB 또는 직렬)을 지정합니다.
Debug-WcosDevice에 대한 전체 구문은 아래에 있습니다.
예:
네트워크 디버거 설정
Debug-WcosDevice NET 10.23.78.12 All이미 연결된 TShell 연결을 사용하여 네트워크 디버거 구성
Debug-WcosDevice NET 10.23.78.12 All -TShell직렬 연결을 통해 로컬로 호스팅되는 가상 머신에서 디버거 구성
Debug-WcosDevice -Transport SERIAL 1 115200 -BootDebug
Debug-WcosDevice를 사용하여 WCOS 디바이스의 BCD를 수정했으면 디버깅을 시작할 준비가 된 것입니다.
Debug-WcosDevice 구문 및 매개 변수
구문
Debug-WcosDevice -Transport <NET <IpAddress> [<Bus Params>] [<HIP>] [<Port>]|USB [<Targetname>] [<Bus params>]|SERIAL <DEBUGPORT> [<BAUDRATE>|NOBAUD]|OFF|ON> <BCD Entry Target> [-TShell]
- 전송 매개 변수
전송 스위치는 수행할 디버그 함수의 유형을 스크립트에 알려주는 데 사용됩니다. 디버그 전송을 구성하여 부팅 옵션에 대한 디버거를 사용하고 켜고 끕니다. 다음 매개 변수를 사용하여 개별 전송에 대한 전송 설정을 변경할 수 있습니다.
debug-WcosDevice를 -Transport NET, -Transport USB 또는 -Transport SERIAL과 함께 사용하여 팩터리 OS 디바이스에 대한 연결을 구성합니다.
- 전송 NET
NET 전송 옵션과 함께 Debug-WcosDevice.cmd를 실행하면 네트워크 연결을 통해 팩터리 OS 디바이스에 연결할 수 있습니다.
구문
Debug-WcosDevice -Transport NET <IpAddress> [<Bus Params>] [<HIP>] [<Port>] [<Key>] <BCD Entry Target> [-TShell]
예제:
Debug-WcosDevice -Transport NET 10.23.78.12 All
이렇게 하면 HostIP에 대해 IP 주소 10.23.78.12를 사용하여 네트워크 디버거가 설정되고 모든 부팅 항목에서 디버거가 사용하도록 설정됩니다. EEM을 통한 KDNET의 경우 호스트 주소에 관계없이 HostIP=169.254.255.255를 사용합니다.
| 매개 변수 | 설명 |
|---|---|
| IpAddress | 네트워크에서 사용할 HostIp 주소입니다. IP4 주소 1.1.1.1의 형식으로 기본값은 169.254.255.255의 EEM(이더넷 에뮬레이션 모델)/IpOverUSB 주소를 사용하는 것입니다. |
| 버스 매개 변수 | 전송 유형 NET을 사용할 때 사용할 특정 버스, 디바이스 및 함수 번호(BDN)를 지정할 수 있습니다. 이 값은 1 또는 1.1.1 형식의 10진수여야 합니다. |
| HIP | 이것이 전달되면 스크립트는 호스트에서 사용할 첫 번째 IP4 IP 주소를 자동으로 찾습니다. HIP를 사용하는 경우 IpAddress를 입력하지 마세요. 오류가 발생합니다. |
| 포트 | 이는 호스트의 열린 포트를 나타내며 49152 ~ 65535 범위에 있어야 합니다. 기본값은 50000입니다. |
| Key | 연결을 보호하는 데 사용되는 보안 키입니다.
이 스크립트는 노드당 최대 4자까지 모든 문자가 포함된 키만 허용하며 4개의 노드가 필요합니다. ^[a-zA-Z]{1,4}\.[a-zA-Z]{1,4}\.[a-zA-Z]{1,4}\.[a-zA-Z]{1,4}$ 예제: 기본값은 1.2.3.4입니다(예: 숫자, 기본값으로 사용 가능). |
| BCD 진입 대상 | 이는 디버거를 사용하도록 설정하기 위한 부팅 항목을 식별합니다. 전체, MainOS 또는 UpdateOS 중에서 선택합니다. 기본값은 MainOS입니다. |
- 전송 USB
구문
USB 전송 옵션과 함께 Debug-WcosDevice.cmd를 실행하면 USB 연결을 통해 WCOS 디바이스에 연결할 수 있습니다.
Debug-WcosDevice -Transport USB [<Targetname>] [<Bus params>] <BCD Entry Target> [-TShell]
| 매개 변수 | 설명 |
|---|---|
| 버스 매개 변수 | 전송 유형 NET을 사용할 때 사용할 특정 버스, 디바이스 및 함수 번호(BDN)를 지정할 수 있습니다. 이 값은 1 또는 1.1.1 형식의 10진수여야 합니다. |
| TargetName | Targetname은 최대 24자일 수 있습니다. 기본값은 WCOSTARGET입니다. |
| BCD 진입 대상 | 이는 디버거를 사용하도록 설정하기 위한 부팅 항목을 식별합니다. 전체, MainOS 또는 UpdateOS 중에서 선택합니다. 기본값은 MainOS입니다. |
- 전송 SERIAL
SERIAL 전송 옵션과 함께 Debug-WcosDevice.cmd를 실행하면 USB 연결을 통해 팩터리 OS 디바이스에 연결할 수 있습니다.
구문
Debug-WcosDevice -Transport SERIAL <DEBUGPORT> [<BAUDRATE>|NOBAUD] <BCD Entry Target> [-TShell]
예제:
Debug-WcosDevice -Transport SERIAL 1 115200 -BootDebug
자세한 내용은 직렬 연결을 통한 디버그를 참조하세요.
| 매개 변수 | 설명 |
|---|---|
| DEBUGPORT | 디버그 포트는 1에서 99 사이일 수 있습니다. |
| BAUDRATE | 전송 속도는 300 이상일 수 있습니다. |
| NOBAUD | 이는 시스템이 BAUD 속도를 설정하지 않도록 지정합니다. |
| BCD 진입 대상 | 이는 디버거를 사용하도록 설정하기 위한 부팅 항목을 식별합니다. 전체, MainOS 또는 UpdateOS 중에서 선택합니다. 기본값은 MainOS입니다. |
- 전송 OFF 또는 ON
예제:
Debug-WcosDevice -Transport OFF
| 매개 변수 | Description |
|---|---|
| 없음 | ON 또는 OFF의 전송 값에 따라 디버거를 켜거나 끕니다. |
비전송 매개 변수
참고
이러한 매개 변수 앞에 -가 있어야 합니다.
| 매개 변수 | 설명 |
|---|---|
| -TShell | 이는 TShell에서 실행 중인 스크립트와 TShell 연결을 통해 연결된 디바이스에 대해 디버그 구성을 수행해야 함을 지정합니다. |
| -BootDebug | 이는 스크립트가 {bootmgr} 부팅 옵션을 포함하여 bootdebugger도 변경하도록 지정합니다. |
| -UserPaths | 이는 bcd 저장소에 대한 부분 경로입니다. 스크립트는 경로에 efi\Microsoft\boot\bcd 또는 boot\bcd를 추가하고 파일이 있는지 확인합니다.
형식은 |