【问题标题】:Trace32 doesn't wait until a command gets executed to execute the next commandTrace32 不会等到一条命令执行完毕才执行下一条命令
【发布时间】:2023-01-20 18:08:53
【问题描述】:

我在 Trace32 中运行一个 Practice 脚本。我注意到,例如,如果我有这组命令

Go
Step.Over

Step.Over 不一定要等到Go 完成执行才能开始。如何告诉 Trace32 在另一个命令完成之前不要执行命令。我尝试在每个命令后插入 Wait 2.s。但是,由于我不知道该命令将花费多长时间,因此并非每次运行都有效。

【问题讨论】:

  • Go 命令何时完全完成,如您所料?
  • 当我看到普通光标而不是加载光标时,date.list 窗口视图得到更新。

标签: trace32


【解决方案1】:

我假设“等待Go 完成执行”意味着等待处理器到达断点。但是,Go 命令不会等到到达断点。 Go 命令的执行在处理器启动后立即完成。

使用指令WAIT <event> [<timeout>]让脚本等待断点。超时是可选的,但为了脚本的稳健性,强烈建议使用。

; start execution
Go

;wait until processor halts at breakpoint (timeout: 2 seconds)
WAIT !STATE.RUN() 2s

;error handler
IF STATE.RUN()
(
  PRINT %ERROR "Breakpoint not reached!"
  ENDDO
)

;continue stepping
Step.Over

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2019-05-04
    • 2015-05-18
    • 2021-03-28
    相关资源
    最近更新 更多