ta (Trace to Address)
ta 命令执行程序直到到达指定地址,每一步都会显示出来(包含被调用的函数中的每一步)。
语法
用户模式
[~Thread] ta [r] [= StartAddress] StopAddress
内核模式
ta [r] [= StartAddress] StopAddress
参数
- Thread
- 指定要继续执行线程。所有其它线程都会被冻结。该语法的更多信息,查看线程语法。只有用户模式下可以指定线程。
- r
- 打开或关闭寄存器和标志位的显示。默认情况下,寄存器和标志会被显示出来。可以通过tar、pr、tr或.prompt_allow -reg命令来禁止显示寄存器。所有这三个命令都可以控制相同的设置,可以用它们中任意一个来覆盖前面命令的设置。
也可以使用l-os来禁止显示寄存器。该设置
和其他三条命令是分离的。使用rm (Register Mask)命令来控制显示哪些寄存器和标志位。
- StartAddress
- 指定执行开始的地址。如果不使用StartAddress,则从指令指针指向的位置开始执行。该语法的更多信息,查看地址和地址区域语法。
- StopAddress
- 指定停止执行的地址。该地址必须刚好是一条指令的开头。
环境
模式 |
用户模式、内核模式 |
目标 |
仅活动目标 |
平台 |
所有 |
注释
ta命令使得目标开始执行,一直持续到到达指定位置或遇到断点。
注意 如果在内核模式下使用ta命令,在任何虚拟地址空间中遇到指定地址时,执行都会停止。
执行时,每一步都会明确显示出来。如果有函数被调用,调试器也会跟踪进去。因此,该命令的显示就像重复使用t (Trace)命令直到程序计数器到达指定位置一样。
例如,下面的命令跟踪目标代码,直到到达函数的返回地址。
0:000> ta @$ra
附加信息
相关命令的更多信息,查看控制调试目标。
Build machine: CAPEBUILD