VC6.0编译的一个软件BUG

o0fengzhishang0o 2013-08-22 09:53:35
具体情况如下:

所用技术和环境说明:
公司的程序是在VC6.0编译器,里面的代码是用C++编写。
主要涉及到的技术有,access/oracle数据库的使用、多线程、串口通信。

程序基本流程说明:
程序分两大部分,一部分是场地设备的数据采集,一部分是监控室对数据的分析判断。场地设备主机先采集数据,然后通过串口把数据传给监控室主机,软件去读取串口的数据,在对数据进行相应的分析判断。

BUG情况说明:
现有程序遇到这样一个问题,当场地设备主机与监控室程序进行通信,如果连接的场地设备数一旦很多,即COM口传递的数据很多时,程序会弹窗报错,点击确定以后,程序退出。报错的提示信息是:该内存不能为read。且该报错无规律,不可重现。倘若场地设备主机没有数据传给监控室,则程序可以正常运行,没有错误。

这个BUG到现在为止,我们没有找出来,不知道是在哪个部分出错了,是程序判断?是串口通信?是多线程?不得而知。更不用说深入到技术细节,是数组越界?野指针?内存溢出?都不得而知。

这份代码是公司一个老员工写的,到现在有五六年了,且这个问题从一开始就存在,一直没有找出这个BUG。这个老员工现在也找不出BUG的原因。我们尝试过给临界资源加锁,但是没有解决。

我们尝试过其它很多种解决办法,该内存不能为read,以这个提示信息找过的方法全试过了,无法解决。我们想过很多曲线迂回的方法,现场调试过多次,但都是只能缓解,无法彻底解决这个问题。

现在我们希望通过CSDN求助,来解决这个问题。
因为公司保密性的原因,无法透露其它更多具体细节,我们真心希望有实力有技术有经验的人来帮忙,公司的源代码因为还是五六年前的,也难免有些冗长繁杂,不一定需要你来帮我们解决问题,只要你找出问题的所在。如果你觉得还有什么其它你想知道的问题,请回帖说明。

请再次从头到尾看一遍整个情况的说明,所用到的技术和BUG的现象说明,如果到这个时候,你还是觉得有把握,想尝试一番,请发私信联系我。

谢谢大家。
...全文
151 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
youqika 2014-04-04
  • 打赏
  • 举报
回复
vc6 确实有问题,我也遇到过,同一份代码vc6编出来,就会偶尔崩溃,2010编译的从来不挂
赵4老师 2013-08-23
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
BeanJoy 2013-08-23
  • 打赏
  • 举报
回复
当然也可以用windbg挂起跑,产生异常时会自动定位到异常处。
BeanJoy 2013-08-23
  • 打赏
  • 举报
回复
就是3楼的方法,崩溃时生成dump,然后使用windbg配合pdb、源码分析,一般就能找到崩溃的地方,再慢慢分析,就能找到导致崩溃的原因了。 见这个使用SetUnhandledExceptionFilter转储程序崩溃时内存DMP
浩南_哥 2013-08-22
  • 打赏
  • 举报
回复
Windbg试下
o0fengzhishang0o 2013-08-22
  • 打赏
  • 举报
回复
引用 2 楼 VisualEleven 的回复:
打log吧,先定位问题在哪个函数范围内~
谢谢大大,我只是公司的刚进不久的小职员,能不能说下具体方法?
  • 打赏
  • 举报
回复
随机的问题一般是越界引起的。 二分注释法,慢慢试
傻X 2013-08-22
  • 打赏
  • 举报
回复
SetUnhandledExceptionFilter(MyUnhandledExceptionFilter); MyUnhandledExceptionFilter是自定义函数 强制注册崩溃回调。 然后再MyUnhandledExceptionFilter之中调用MiniDumpWriteDump输出dump文件 可以用windbg分析dump文件,或者高版本的VS直接打开dmp文件会直接指向你的崩溃点。 PS:该方法对于内存碎片,内存不够的崩溃无法定位。
Eleven 2013-08-22
  • 打赏
  • 举报
回复
打log吧,先定位问题在哪个函数范围内~
o0fengzhishang0o 2013-08-22
  • 打赏
  • 举报
回复
在线等待牛人出现。。。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧