다음을 통해 공유


$<, $><, $$<, $$><, $$ >a< (스크립트 파일 실행)

$<, $, $><$<, $$><$$>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< 명령을 종료합니다.