gpt4 book ai didi

debugging - ARM Data Abort错误异常调试

转载 作者:行者123 更新时间:2023-12-04 05:18:51 25 4
gpt4 key购买 nike

所以现在我知道我正在收到一个ARM Data Abort异常-我看到了如何捕获异常本身(STL库中的错误地址),但是我想在异常之前返回堆栈帧。我正在使用IAR工具链,它告诉我异常发生后调用堆栈不可用-是否有一种技巧可以说服该工具向我显示调用堆栈?感谢您提供的所有快速帮助!

最佳答案

如果您查看ARM ARM(《 ARM体系结构引用手册》,只是google“arm arm”),“程序员模型”->“处理器模式”和“寄存器”部分。在中止模式下,您具有特权,因此可以从中止切换为管理员,然后制作r13的副本,然后切换回中止模式并从r13的副本中转储堆栈。您的r14还会告诉您中止发生的位置。

如果这种中止是来自路线,我不会感到惊讶。尝试读取/写入一个单词,其地址的低两位低至零,或地址集的低位为半字。实际上,由于中止和用户/主管使用相同的寄存器空间,因此如果您使用链接寄存器和寄存器转储(r0-r12),则可以查看导致中止的指令和地址,以查看是否确实是中止对齐问题或其他问题。请注意,根据模式拇指或 ARM 中止的情况,pc是前面的一,二或三条指令,如果您根本不使用拇指,则无需担心。

关于debugging - ARM Data Abort错误异常调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com