debug版本运行正常,但是release版本出现错误:"******在**********处的内存不能为 read"...
不解

解决方案 »

  1.   

    为减少在RELEASE版本中出现奇怪的问题,程序编制中几个问题应充分重视:
    1、变量要尽可能初始化赋值,如TCHAR *token  = NULL; TCHAR aa[10] = {0};
    2、不要在ASSERT的断言语句中赋值,如ASSERT((ptr = getptr()) != NULL);
    欢迎大家继续列举!
      

  2.   

    一般是指针问题。
    可以通过调试方法找到这个问题所在。
    跳出来那个对话框,你就点击调试,然后进入vc环境,看看调用堆栈,定位是那个函数里面出问题了。如果函数比较大,你就使用int 3 下断点来确定每行代码的地址。这样最终能够发现是那行代码的问题。
    如果没有源代码就比较困难,不过还是可以跟踪个八九不离十的。
      

  3.   

    一般都是指针指向了非法地址或数组下标越界造成的,检查指针是否delete掉了