다음을 통해 공유


.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