1
在wince 5.0 arm設備仿真器上運行程序時,它始終報告數據未對齊。例外是wince數據未對齊
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()
。返回地址不在代碼部分,可能在堆中。 運行應用程序驗證程序檢測內存問題時,數據中止消失,程序正常運行。 是什麼導致它以及如何調試這種情況?
代碼和數據部分的總長度大約爲0xB0000。所以RA 0x11a988超出了該地址空間。當我進行一些代碼更改時,數據中止可能會消失一段時間,但會再次出現在另一個地方。 – Bergenst
靜態如何?他們分配在一個單獨的位置。 – ctacke