.pcmd(프롬프트 명령 설정)

.pcmd 명령을 사용하면 대상이 실행을 중지할 때마다 디버거에서 명령을 실행하고 등록 또는 대상 상태 정보가 포함된 프롬프트를 디버거 명령 창에 표시합니다.

.pcmd -s CommandString 
.pcmd -c 
.pcmd 

매개 변수

-s **** CommandString
새 프롬프트 명령 문자열을 지정합니다. 대상이 실행을 중지할 때마다 디버거가 문제를 해결하고 CommandString 명령을 즉시 실행합니다. CommandString에 공백 또는 세미콜론이 포함된 경우 따옴표로 묶어야 합니다.

-c
기존 프롬프트 명령 문자열을 삭제합니다.

환경

항목 설명
모드 사용자 모드, 커널 모드
대상 라이브, 크래시 덤프
플랫폼 모두

추가 정보

디버거 명령 창 프롬프트에 대한 자세한 내용은 디버거 명령 사용을 참조 하세요.

설명

매개 변수 없이 .pcmd 명령을 사용하는 경우 현재 프롬프트 명령이 표시됩니다.

.pcmd -s를 사용하여 프롬프트 명령을 설정하면 대상이 실행을 중지할 때마다 지정된 CommandString이 실행됩니다(예: g, p 또는 t 명령이 종료되는 경우). 명령이 레지스터 또는 대상 상태 정보를 표시하지 않는 한 실행되지 않는 명령을 사용할 때는 CommandString 명령이 실행되지 않습니다.

다음 예제에서 .pcmd의 첫 번째 사용은 프롬프트와 함께 표시되는 고정 문자열을 설정합니다. .pcmd의 두 번째 사용으로 인해 디버거는 프롬프트가 나타날 때마다 대상의 현재 프로세스 ID 및 스레드 ID를 표시합니다. .ttime 명령을 사용한 후에는 해당 명령에 실행이 포함되지 않으므로 특수 프롬프트가 표시되지 않습니다.

0:000> .pcmd
No per-prompt command

0:000> .pcmd -s ".echo Execution is done."
Per-prompt command is '.echo Execution is done.'

0:000> t
Prymes!isPrime+0xd0:
004016c0 837dc400      cmp dword ptr [ebp-0x3c],0x0 ss:0023:0012fe70=00000002
Execution is done.

0:000> t
Prymes!isPrime+0xd4:
004016c4 7507             jnz     Prymes!isPrime+0xdd (004016cd)
 [br=1]
Execution is done.

0:000> .ttime
Created: Thu Aug 21 13:18:59 2003
Kernel:  0 days 0:00:00.031
User:    0 days 0:00:00.000

0:000> .pcmd -s "r $tpid, $tid"
Per-prompt command is 'r $tpid, $tid'

0:000> t
Prymes!isPrime+0xdd:
004016cd ebc0             jmp     Prymes!isPrime+0x9f (0040168f)
$tpid=0000080c $tid=00000514

0:000> t
Prymes!isPrime+0x9f:
0040168f 8b55fc           mov     edx,[ebp-0x4]     ss:0023:0012fea8=00000005
$tpid=0000080c $tid=00000514