调试时发现会死在取数终止里

[复制链接]
 楼主| lhzw2001 发表于 2008-4-27 21:07 | 显示全部楼层 |阅读模式
调试时发现,加入一个新函数,编译,如果不调用,没事,如果一旦调用了,就会死在取数终止里<br />
wowow 发表于 2008-4-27 21:14 | 显示全部楼层

以前出过这种问题

出问题的情况是:一个char型的缓冲区用short&nbsp;*指针来访问,而缓冲区地址没有对齐偶数地址,导致进入这个中断。你查一下程序有无类似的问题。
老狼 发表于 2008-4-28 16:54 | 显示全部楼层

哈哈,我以前也碰到过一次!

一不小心,除数为零了!
mr.king 发表于 2008-4-28 19:05 | 显示全部楼层

RAM调试?都是程序问题(以前有数组越界)

RAM调试时CODE在RAM中,越界冲了CODE在RAM中的代码,取指令错误
阿南 发表于 2008-4-28 19:56 | 显示全部楼层

楼主最好能跟踪进去,看是执行到哪里,是哪条指令产生了

异常中断
computer00 发表于 2008-4-28 20:37 | 显示全部楼层

异常后看看R14的值,就知道从哪飞进来的拉~~~

  
 楼主| lhzw2001 发表于 2008-4-28 22:31 | 显示全部楼层

发现是某个数组传递的地址不是偶数地址

<br /><br /><br />很是奇怪,只要不调用已写的函数,那编译发现,数组的地址传给&nbsp;R0&nbsp;=&nbsp;0x756c<br /><br />如果调用了这个数组,传给R0=0x761e&nbsp;这时就进入了取数终止了<br /><br /><br /><br />
木瓜老C 发表于 2008-4-30 13:15 | 显示全部楼层

我也出现过这个问题

将一个非偶地址上的数据付给一个short&nbsp;型变量就出现这个终止。不太清楚如何避免这个问题
computer00 发表于 2008-5-2 11:24 | 显示全部楼层

8楼的,处理器要求数据对齐,你没满足这个要求,当然就异

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

341

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部