wince数据错位

时间:2011-12-09 05:52:37

标签: c++ windows-ce

在wince 5.0 arm设备模拟器上运行程序时,它始终报告数据未对齐。例外是

Data Abort: Thread=8db5e6f4 Proc=8c24cb60 'test.exe'
AKY=00001001
PC=03f91cfc(coredll.dll+0x00021cfc)
RA=1a12a988(test.exe+0x0011a988)
BVA=0000001e
FSR=00000001

根据地图文件,PC处于功能CeHeapCreate()。返回地址不在代码部分,可能在堆中。 运行应用程序验证程序以检测内存问题时,数据中止消失并且程序正常运行。 导致它的原因以及如何调试此案例?

1 个答案:

答案 0 :(得分:1)

我们需要看到test.exe正在进行的coredll调用。返回地址(RA)告诉您应用中来电的来源,您只需decode it back to a line of code。 WAG是您将结构或字节数组传递给未对齐的API调用。同样,没有代码,我们只能猜测。