【发布时间】:2015-08-31 08:01:02
【问题描述】:
我正在尝试检查程序是否在 TRACE32 中的函数中停止。
我知道我可以在 FRAME 窗口中看到函数,但不知道如何将它们复制到脚本中的变量中。
知道怎么做吗?
【问题讨论】:
标签: trace32 lauterbach
我正在尝试检查程序是否在 TRACE32 中的函数中停止。
我知道我可以在 FRAME 窗口中看到函数,但不知道如何将它们复制到脚本中的变量中。
知道怎么做吗?
【问题讨论】:
标签: trace32 lauterbach
你得到函数的名字,程序计数器指向的地方是:
PRINT sYmbol.FUNCTION(PP())
(您也可以将结果分配给宏,而不是打印结果。)
因此,一种检查您是否已在函数 myFunc() 中停止的方法是:
PRINT STRing.ComPare(sYmbol.FUNCTION(PP()),"*\myFunc")
另一种方法是检查程序计数器是否在函数的第一个和最后一个地址内myFunc():
PRINT (ADDRESS.OFFSET(sYmbol.BEGIN(`myFunc`))<=Register(PP))&&(Register(PP)<=ADDRESS.OFFSET(sYmbol.END(`myFunc`)))
【讨论】:
PRINT sYmbol.FUNCTION(P:Register(PP))