【问题标题】:lauterbach scripting: checking if program stops at breakpoint劳特巴赫脚本:检查程序是否在断点处停止
【发布时间】:2023-04-04 15:47:01
【问题描述】:

如果程序在断点处停止,我必须通过脚本检查: 示例:

break.set func1 /Program

IF(程序在断点处停止) ( 做某事 )

我是这种语言的新手,我似乎无法在 google 上找到相关信息。 谢谢

【问题讨论】:

    标签: trace32 lauterbach


    【解决方案1】:

    如果您不知道程序是否停止在您需要等待一段时间(由您定义)然后检查处理器的运行状态,如果停止则检查 PC 是否在你的符号。

    ; set breakpoint
    Break.Set func1 /Program
    
    ; start processor
    Go
    
    ; wait until processor stopped or 5 seconds elasped
    WAIT !STATE.RUN() 5.0s
    
    IF STATE.RUN()
    (
        PRINT %ERROR "Processor still running!"
        ENDDO
    )
    
    ; check PC
    IF R(PC)!=sYmbol.BEGIN(func1)
    (
        PRINT %ERROR "Processor stopped but wrong PC!"
        ENDDO
    )
    
    PRINT "Test passed!"
    
    ENDDO
    

    【讨论】:

      【解决方案2】:

      如果您的实际目标是在断点被命中时执行脚本,我建议使用Break.Set 的选项/CMD。 例如:

      Break.Set  func1 /Program /CMD "DO smth.cmm" 
      

      【讨论】:

      • 感谢您的回答。这实际上会在我未来的脚本中帮助我
      猜你喜欢
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 2022-06-30
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多