• 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倍。
    以下修改是否有效,还需要进一步测试与验证。

  • 相关阅读:
    Android中的Handler, Looper, MessageQueue和Thread
    ANR程序无响应原因及应对办法
    避免内存泄露的一些简单方法
    android内存泄露及OOM介绍
    listview异步加载图片优化
    利用convertView及viewHolder优化Adapter
    Sqlite介绍及其语句
    关于单页面和传统页面跳转的思考
    快速入门Vue
    JS编码
  • 原文地址:https://www.cnblogs.com/91program/p/5216570.html
Copyright © 2020-2023  润新知