劳特巴赫 CMM 脚本 symbol.exit<myfunc> 始终不一致

Lauterbach CMM scripts symbol.exit<myfunc> is not consistent always

我正在调用命令 go symbol.exit(myfunc)。有时程序控制到达函数的末尾,但有时它在函数的开头结束。

我们还有其他方法可以到达函数的末尾吗?请告诉我为什么我在我的环境中观察到这种行为。

我建议使用命令Go.Return

在最新版本的 TRACE32 中使用 Go.Return 将在当前函数的结尾处停止 CPU。从那里再次使用 Go.Return,在函数的退出点停止 CPU。

但是 Go sYmbol.EXIT(myfunc) 也应该在函数 "myfunc" 的退出点停止 CPU(除非没有其他断点更早地停止 CPU)。

如果失败,我可以想象这可能是由编译器优化引起的。 (例如,如果函数是内联的,调试器可能找不到退出点)。因此,请尝试将您的编译器优化级别设置为较低的值。

否则,也许您应该联系 Lauterbach 支持人员,告诉他们您的问题以及您使用的确切 PowerPC、哪个编译器(及其版本)以及您使用的 TRACE32 的内部版本号。