WinCE 系统刚启动时运行应用,在应用启动时偶尔出现异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinCE 系统刚启动时运行应用,在应用启动时偶尔出现异常相关的知识,希望对你有一定的参考价值。

以下是出错时,串口输出的 LOG:

......
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=00054828, BVA=00001003
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(core
lw.illo0t0o06r7(4  SW=I0E54EeS,OBVE=E0T01
03
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=00053ba8, BVA=00001003
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=00053568, BVA=00001003
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=00052f28, BVA=00001003
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=000528e8, BVA=00001003
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=000522a8, BVA=00001003
Exception ‘User Stack Overflow‘ (0xfffffffd): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=400666a4(coredll.dll+0x000566a4) RA=4002ed34(coredll.dll+0x0001ed34) SP=00051d3c, BVA=00051d1c
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=000516fc, BVA=00000004
Exception ‘Data Abort‘ (0x4): Thread-Id=05fe00b2(pth=c0869000), Proc-Id=053f00be(pprc=c087ba2c) ‘MyTest.exe‘, VM-active=053f00be(pprc=c087ba2c) ‘MyTest.exe‘
PC=4007a930(coredll.dll+0x0006a930) RA=4007a794(coredll.dll+0x0006a794) SP=000510bc, BVA=00001003
!!! Committed last page of the stack (0x00001003) or invalid stack pointer (0x000510bc), SEH bypassed, thread terminated !!!

 

其中关键信息:
(1) Exception ‘User Stack Overflow‘ (0xfffffffd)
(2) !!! Committed last page of the stack (0x00001003) or invalid stack pointer (0x000510bc), SEH bypassed, thread terminated !!!

由于是偶尔出现的问题,目前还没有找到引起上述异常信息的原因。

修改了工程的属性中:
配置属性->链接器->系统 下的:
(1) 堆栈保留大小 65536 修改为 131072
(2) 堆栈提交大小 4096 修改为 8192
都扩大了2倍。
以下修改是否有效,还需要进一步测试与验证。

以上是关于WinCE 系统刚启动时运行应用,在应用启动时偶尔出现异常的主要内容,如果未能解决你的问题,请参考以下文章

WinCE compact 7 VS2008 调试模式启动应用错误

wince系统运行中如何实现更新flash中的NK.BIN?持续探讨,欢迎关注

系统刚启动时未收到 FCM 通知

如何在不先启动 IE 的情况下使我的 WinCE 应用程序中的网络工作?

Linux如何查看系统/服务器的运行时间及启动时间?

如何在已修改为不运行资源管理器的 Windows 系统上启动时运行应用程序