我有一个用C编写的应用程序,它运行在Coldfire处理器上。Coldfire强制使用RAM而不是寄存器
我需要强制它使用RAM的所有局部变量(在函数中声明),而不是使用寄存器;以正确调试应用程序。
我该怎么办?
编辑更多信息
有时,在主应用程序,我得到一个错误,因为从功能上一个错误的返回值。很少发生这种情况,我在返回指令之前放置了一个检查点和一个断点,但是许多变量使用相同的寄存器,并且在发生错误时我无法清楚地了解情况。如果我在程序开始处移动程序计数器并逐步执行,结果是正确的。可能是寄存器的管理有问题,我想知道它是什么。
预先感谢您的问候。
是不是简单地把调试开关打开工作?试试'volatile'关键字。 – Matt
XY问题。没有必要将所有当地人存储在RAM中以进行适当的调试(并且这对于操作员来说将如何工作?)。它也会大幅减慢你的代码。 – Olaf
有时,在主应用程序中,由于函数的返回值错误,我得到一个错误。很少发生这种情况,我在返回指令之前放置了一个检查点和一个断点,但是许多变量使用相同的寄存器,并且在发生错误时我无法清楚地了解情况。 如果我在功能开始处移动程序计数器并逐步执行,结果是正确的。可能是寄存器的管理有问题,我想知道它是什么。 –