.pcmd(设置提示命令)
.pcmd 命令使调试器在目标停止执行时发出命令,并在“调试器命令”窗口中显示带有寄存器或目标状态信息的提示。
.pcmd -s CommandString
.pcmd -c
.pcmd
参数
-s **** CommandString
指定新的提示命令字符串。 只要目标停止执行,调试器就会发出并立即运行 CommandString 命令。 如果 CommandString 包含空格或分号,则必须用引号将其括起来。
-c
删除任何现有的提示命令字符串。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 实时、崩溃转储 |
平台 | 全部 |
其他信息
有关调试器命令窗口提示的详细信息,请参阅使用调试器命令。
注解
如果使用不带参数的 .pcmd 命令,将显示当前提示命令。
使用 .pcmd -s 设置提示命令时,每当目标停止执行时(例如,g、 p 或 t 命令结束时),就会发出指定的 CommandString。 使用非执行命令时不会发出 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