Debugging Tools for Windows

ph (Step to Next Branching Instruction)

ph命令执行程序直到遇到任何种类的分支指令,包括条件或非条件跳转、调用、返回和系统调用。

语法

用户模式

[~Threadph [r] [= StartAddress] [Count

内核模式

ph [r] [= StartAddress] [Count

参数

Thread
指定要继续执行的线程。所有其它线程都会被冻结。该语法的更多信息,查看线程语法。只能在用户模式下指定线程。
r
打开或关闭对寄存器和标志位的显示。默认情况下,寄存器和标志位会被显示出来。可以通过phrprtr.prompt_allow -reg命令来禁止显示。这些命令都可以用来控制该设置,并且可以覆盖之前使用这些命令进行任何设置。

也可以通过l-os命令禁止对寄存器的显示。这个设置和其他三个命令是分开的。要控制哪些寄存器和标志位被显示出来,使用rm (Register Mask) 命令。

StartAddress
指定执行开始的地址,否则从指令指针指向的指令开始执行。该语法的更多信息,查看地址和地址区域语法
Count
指定遇到多少个分支指令该命令才会停下来。默认值为1。

环境

模式 用户模式、内核模式
目标 仅活动调试
平台 所有

注释

ph 命令使得目标开始执行,直到遇到分支指令或断点。

如果程序计数器正在一条分支指令上,则会先执行该分支指令。当该指令结束之后,继续执行直到遇到其他分支指令。对这种分支进行执行而不是跟踪,是phth (Trace to Next Branching Instruction)唯一的区别。

源码模式下,一个代码行可能和多条汇编指令关联。ph 不会在当前源码行关联的分支指令处停止。

附加信息

相关命令的更多信息,查看控制调试目标

Build machine: CAPEBUILD