$<, $, $><$<, $$><및 $$>a< 명령은 지정된 스크립트 파일의 내용을 읽고 해당 내용을 디버거 명령 입력으로 사용합니다.
$<Filename
$><Filename
$$<Filename
$$><Filename
$$>a<Filename [arg1 arg2 arg3 ...]
매개 변수
파일 유효한 디버거 명령 텍스트가 포함된 파일을 지정합니다. 파일 이름은 Microsoft Windows 파일 이름 규칙을 따라야 합니다. 파일 이름에 공백이 포함될 수 있습니다.
argn
디버거가 스크립트에 전달할 문자열 인수 수를 지정합니다. 디버거는 스크립트를 실행하기 전에 스크립트 파일의 ${$argn} 형식의 모든 문자열을 해당 argn 으로 대체합니다. 인수에는 따옴표 또는 세미콜론이 포함될 수 없습니다. 여러 인수는 공백으로 구분해야 합니다. 인수에 공백이 포함되어 있으면 따옴표로 묶어야 합니다. 모든 인수는 선택 사항입니다.
Environment
| 항목 | Description |
|---|---|
| 모드 | 사용자 모드, 커널 모드 |
| 대상 | 라이브, 크래시 덤프 |
| 플랫폼 | 모두 |
설명
$$< 및 $<토큰은 스크립트 파일에 있는 명령을 문자 그대로 실행합니다. 그러나 $< 를 사용하면 세미콜론이 포함된 파일 이름을 포함하여 모든 파일 이름을 지정할 수 있습니다. $<를 사용하면 파일 이름에 세미콜론을 사용할 수 있으므로 세미콜론을 명령 구분 기호로 사용할 수 없고 파일 이름의 일부로 사용할 수 없으므로 $< 를 다른 디버거 명령과 연결할 수 없습니다.
$$>< 및 $><토큰은 스크립트 파일에 있는 명령을 리터럴로 실행합니다. 즉, 스크립트 파일을 열고, 모든 캐리지 반환을 세미콜론으로 바꾸고, 결과 텍스트를 단일 명령 블록으로 실행합니다. 앞에서 설명한 $< 와 마찬가지로 $>< 변형은 세미콜론이 포함된 파일 이름을 허용합니다. 즉, $>< 를 다른 디버거 명령과 연결할 수 없습니다.
$$>< 및 $><토큰은 디버거 명령 프로그램이 포함된 스크립트를 실행하는 경우에 유용합니다. 이러한 프로그램에 대한 자세한 내용은 디버거 명령 프로그램 사용을 참조하세요.
세미콜론을 포함하는 파일 이름이 없는 경우 $< 또는 $><를 사용할 필요가 없습니다.
$$>a< 토큰을 사용하면 디버거가 인수를 스크립트에 전달할 수 있습니다. Filename에 공백이 포함된 경우 따옴표로 묶어야 합니다. 너무 많은 인수가 제공되면 초과 인수는 무시됩니다. 너무 적은 인수가 제공되면 형식 ${$argn}의 원본 파일에서 n 이 제공된 인수 수보다 큰 토큰은 리터럴 형식으로 유지되며 아무것도로 대체되지 않습니다. 세미콜론 및 추가 명령으로 이 명령을 따를 수 있습니다. 세미콜론이 있으면 인수 목록이 종료됩니다.
디버거가 스크립트 파일을 실행하면 명령과 해당 출력이 디버거 명령 창에 표시됩니다. 스크립트 파일의 끝에 도달하면 컨트롤이 디버거로 돌아갑니다.
다음 표에서는 이러한 토큰을 사용하는 방법을 요약합니다.
| 토큰 | 세미콜론을 포함하는 파일 이름을 허용합니다. | 세미콜론으로 구분된 추가 명령의 연결을 허용합니다. | 단일 명령 블록으로 압축 | 스크립트 인수 허용 |
|---|---|---|---|---|
$< |
Yes |
예 |
아니요 |
No |
$>< |
Yes |
아니요 |
예 |
아니요 |
$$< |
아니요 |
예 |
아니요 |
No |
$$>< |
아니요 |
예 |
Yes |
아니요 |
$$>a< |
아니요 |
예 |
Yes |
Yes |
$<, $><, $$< 및 $$>< 명령은 스크립트 파일에 포함된 명령을 에코하고 이러한 명령의 출력을 표시합니다. $$>a< 명령은 스크립트 파일에 있는 명령을 에코하지 않고 출력만 표시합니다.
스크립트 파일을 중첩할 수 있습니다. 디버거가 스크립트 파일에서 이러한 토큰 중 하나를 발견하면 실행이 새 스크립트 파일로 이동하고 새 스크립트 파일이 완료되면 이전 위치로 돌아갑니다. 스크립트를 재귀적으로 호출할 수도 있습니다.
WinDbg에서 디버거 명령 창에 추가 명령 텍스트를 붙여넣을 수 있습니다.
예제
다음 예제에서는 Myfile.txt 스크립트 파일에 인수를 전달하는 방법을 보여 줍니다. 파일에 다음 텍스트가 포함되어 있다고 가정합니다.
.echo The first argument is ${$arg1}.
.echo The second argument is ${$arg2}.
그런 다음 다음과 같은 명령을 사용하여 인수를 이 파일에 전달할 수 있습니다.
0:000> $$>a<myfile.txt myFirstArg mySecondArg
이 명령의 결과는 다음과 같습니다.
The first argument is myFirstArg.
The second argument is mySecondArg.
잘못된 수의 인수가 제공되면 발생하는 작업의 예는 다음과 같습니다. 내 Script.txt 파일에 다음 텍스트가 포함되어 있다고 가정합니다.
.echo The first argument is ${$arg1}.
.echo The fifth argument is ${$arg5}.
.echo The fourth argument is ${$arg4}.
그런 다음, 다음 세미콜론으로 구분된 명령줄은 출력을 생성합니다.
0:000> $$>a< "c:\binl\my script.txt" "First one" Two "Three More" Four; recx
The first argument is First one.
The fifth argument is ${$arg5}.
The fourth argument is Four.
ecx=0021f4ac
앞의 예제에서 파일 이름은 공백을 포함하므로 따옴표로 묶이고 공백이 포함된 인수도 따옴표로 묶습니다. 스크립트에서 다섯 번째 인수가 예상되는 것처럼 보이지만 세미콜론은 네 번째 인수 다음에 $$>a< 명령을 종료합니다.