记一次错误调试,Cstring 变量自动析构时崩溃

项目实施时帮忙修改公司MFC老程序检索文件,测试同事表示测试个别文件时程序崩溃,但是在VS中跑时正常。

在无法复现的情况下, 先尝试弹窗定位,所有弹窗结束后程序才崩溃,定位失败。想到vs有类似GDB的Attach 功能,最后定位到Cstring析构时地址析构无效,而查找文件中只有一个Cstring 变量ss。

	// 票头,简单注,复杂注记录总数
	int nHeadCount;
	int nBody1Count;
	int nBody2Count;
	
	//int nDebug[30];
	int nDebug[40];
	CString ss;

但是运行过程中,ss并未使用,也是单线程中使用,排除其他线程操作,故最有可能是nDebug 越界操作了。于是一个个查找nDebug的使用。

用的地方真不少,也确实有越界访问。修改扩大nDebug大小,问题解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值