.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