如何检查Lauterbach(Trace32)函数的返回值?

时间:2015-08-21 05:59:57

标签: trace32 lauterbach

我需要从TRACE32脚本中检查函数的返回值。

阅读文档我看到了一个可能的解决方案来读取程序计数器(IP)寄存器,然后在执行PC指向的地址处的指令后从那里获取值。

是否还有其他函数直接返回函数返回的值?

1 个答案:

答案 0 :(得分:1)

每个函数通常都有一个名为“return”的伪变量。您可以在窗口sYmbol.Browse.Var \\*\*\<myfunc>\*中看到(其中 myfunc 是您的函数的名称)

在任何变量中,您都可以使用PRACTICE函数Var.VALUE(<variable>)获取其值。

因此,您可以使用

获取函数 myfunc()的返回值
GO sYmbol.EXIT(myfunc)   // go to return statement of myfunc
PRINT Var.VALUE(return)  // get the return value

如果您想进行模块测试,另一种方法可能会让您感兴趣:
因此成像您只想用随机参数调用函数int func3(int a, int b)(例如5和3)得到返回值。在这种情况下,请执行以下操作:

Var.NEWLOCAL \x        // create artificial variable on the PRACTICE stack
Var.Set \x=func3(5,3)  // execute func3() with arguments 5 and 3 on your CPU
PRINT Var.VALUE(\x)    // get the return value