release版本崩溃的问题
程序中定义了4个结构体对象,结构体如下:
struct TableDes{
char Name[300][80];//名称
char Unit[300][20];//单位
int iRegCount;//个数
BYTE bytValue[60];//数值(字节)
unsigned char m_bDataType[30]; //是否有符号 1:有符号,0:无符号
double m_dCoe[30]; //数据系数
};
TableDes A,B,C,D;
然后从TXT点表中读信息,当A有32个信息点,B有29个信息点时程序运行正常,可B增加到31个点时debug版本正常,release版本崩溃,提示"0x00000000"指令应用的“0x00000000”内存。该内存不能为“read”
后来我将B放到对话框初始化中,并将它改为局部变量,debug版和release版都正常,求解原因?
struct TableDes{
char Name[300][80];//名称
char Unit[300][20];//单位
int iRegCount;//个数
BYTE bytValue[60];//数值(字节)
unsigned char m_bDataType[30]; //是否有符号 1:有符号,0:无符号
double m_dCoe[30]; //数据系数
};
TableDes A,B,C,D;
然后从TXT点表中读信息,当A有32个信息点,B有29个信息点时程序运行正常,可B增加到31个点时debug版本正常,release版本崩溃,提示"0x00000000"指令应用的“0x00000000”内存。该内存不能为“read”
后来我将B放到对话框初始化中,并将它改为局部变量,debug版和release版都正常,求解原因?
...全文
相关推荐
Qt Release 崩溃测试 demo
Qt Release 版本下 崩溃测试 demo 可以定位到程序崩溃点
VC-Debug-Release]出错的问题解决办法
当调试VC 程序时,经常出现release 版本或者debug版本运行崩溃的问题,本文给出了一些解决方法……
示例代码:Release版崩溃,用VS调试dump文件,定位代码出错行【VS2017】
手把手教你的精彩 配套博文地址:https://blog.csdn.net/maoyeahcom/article/details/108583124
WINDOWS程序崩溃定位
在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。因为release版本来就少了很多调试信息,更何况一般都是发布出去由用户使用,crash的现场很难保留和重现。本文将给出一种解决方案,完成对release版应用程序crash错误的调试。(本文将讨论Windows平台MSVC环境下的定位方法)
WinDbg离线下载安装包 + 使用示例:Release崩溃crash找到出错的函数、行
WinDbg可以离线直接安装的两个包(x64、x86)、VC6的示例代码、WinDbg的使用教程,迅速学会一门技能:根据Release版本程序崩溃的信息,找到源代码里对应的函数、行。


界面
