pt(步进到下一个 Return)

pt 命令执行程序,直到到达返回指令。

User-Mode

[~Thread] pt [r] [= StartAddress] [Count] ["Command"]

Kernel-Mode

pt [r] [= StartAddress] [Count] ["Command"]

参数

线程
指定要继续执行的线程。 所有其他线程已冻结。 有关语法的详细信息,请参阅 线程语法。 只能在用户模式下指定线程。

R
打开和关闭寄存器和标志的显示。 默认情况下,将显示寄存器和标志。 可以使用 ptrprtr 或 .prompt_allow -reg 命令禁用寄存器显示。 所有这些命令都控制相同的设置,你可以使用它们中的任何一个来替代以前使用这些命令的任何用法。

还可以使用 l-os 命令禁用寄存器显示。 此设置与其他三个命令是分开的。 若要控制显示哪些寄存器和标志,请使用 rm (Register Mask) 命令。

StartAddress
指定调试器开始执行的地址。 否则,调试器从指令指针指向的指令开始。 有关语法的详细信息,请参阅地址和地址范围语法

计数
指定此命令停止时必须遇到的 返回 指令数。 默认值为 1。

命令
指定要在执行步骤后执行的调试器命令。 此命令在显示标准 pt 结果之前执行。 如果还使用 Count,则指定命令在完成所有步进 (但最后一步的结果显示在) 之前执行。

环境

说明
模式 用户模式、内核模式
目标 仅实时调试
平台 all

其他信息

有关相关命令的详细信息,请参阅 控制目标

注解

pt 命令会导致目标开始执行。 此执行一直持续到到达 返回 指令或遇到断点为止。

如果程序计数器已在 返回 指令上,则执行整个返回。 返回此返回后,将继续执行,直到达到另一个 返回 。 此调用的执行(而不是跟踪)是 pttt 之间的唯一区别 (跟踪到下一个返回)

在源模式下,可以将一个源行与多个程序集指令相关联。 pt 命令不会在与当前源行关联的返回指令处停止。

以下示例演示如何使用 pt 命令和 kb 命令来显示堆栈跟踪:

0:000> pt "kb"