debug版本运行正常,但是release版本出现错误,这个是怎么回事? debug版本运行正常,但是release版本出现错误:"******在**********处的内存不能为 read"...不解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为减少在RELEASE版本中出现奇怪的问题,程序编制中几个问题应充分重视:1、变量要尽可能初始化赋值,如TCHAR *token = NULL; TCHAR aa[10] = {0};2、不要在ASSERT的断言语句中赋值,如ASSERT((ptr = getptr()) != NULL);欢迎大家继续列举! 一般是指针问题。可以通过调试方法找到这个问题所在。跳出来那个对话框,你就点击调试,然后进入vc环境,看看调用堆栈,定位是那个函数里面出问题了。如果函数比较大,你就使用int 3 下断点来确定每行代码的地址。这样最终能够发现是那行代码的问题。如果没有源代码就比较困难,不过还是可以跟踪个八九不离十的。 一般都是指针指向了非法地址或数组下标越界造成的,检查指针是否delete掉了 100分求助,关于new和delete,报错 一个关于MultiByteToWideChar的问题 散分,维基百科(Wiki)解封 怎么让一个远程dll注入进程时安装一个钩子 两个人同时开发一个vc程序怎么办?如何同步? 【新手】VC6 MDI 结构 App 中 App 对象如何关闭一个 Doc / View 对象 ? 急!!!如何把图片保存到SQL SEVER6.0数据库里?(MFC ODBC编程) [求助] 如何用DirectX显示YUV格式的图像 VC组件的简单问题!! 怎么用WMI获取硬件信息 请问LPCITEMIDLIST类型的数据如何能做到序列化? 如何得到视类的指针?
1、变量要尽可能初始化赋值,如TCHAR *token = NULL; TCHAR aa[10] = {0};
2、不要在ASSERT的断言语句中赋值,如ASSERT((ptr = getptr()) != NULL);
欢迎大家继续列举!
可以通过调试方法找到这个问题所在。
跳出来那个对话框,你就点击调试,然后进入vc环境,看看调用堆栈,定位是那个函数里面出问题了。如果函数比较大,你就使用int 3 下断点来确定每行代码的地址。这样最终能够发现是那行代码的问题。
如果没有源代码就比较困难,不过还是可以跟踪个八九不离十的。