zoukankan      html  css  js  c++  java
  • WinCE Error:Access Violation

    错误:

    在EVC4调试模式下,出现错误。

    错误提示:Error Access Violation

     点击确定后,EVC停止在文件:D:/Program Files/Windows CE Tools/wce500/5300Pro /Mfc/Src/strcore.cpp 的函数:LPTSTR CString::GetBuffer(int nMinBufLength)中的语句:if (GetData()->nRefs > 1 || nMinBufLength > GetData()->nAllocLength) 。

     

    解决问题:

     1 出现错误的是一个CString 类型的数组,因为数组比较大,考虑到可能是应用的stack太小。但将stack的空间增大,问题仍然没有解决;将数组的大小减小,同样问题没有解决。

     2 详细调试发现CString类在GetData时,指针m_pchData为空。原因不明!

     3 考虑最近的修改,寻找可能引起此问题的原因。因为一天前,此应用还是可以正常运行的!

    从稳定的版本到现在,只增加了一个数组和两个宏定义。

     原因肯定在这里,详细阅读代码发现,宏定义使用错误。很简单的错误:数组是用小的宏定义的,初始化时却错误的写成大的宏。

    导致一个CString 数组变量的部分成员的空间被占用。

  • 相关阅读:
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    72. Edit Distance
    583. Delete Operation for Two Strings
    582. Kill Process
    indexDB基本用法
    浏览器的渲染原理
    js实现txt/excel文件下载
    git 常用命令
    nginx进入 配置目录时
  • 原文地址:https://www.cnblogs.com/91program/p/5253238.html
Copyright © 2011-2022 走看看