MFC对话框程序,只是退出时有bug

lulu23260 2012-11-21 09:12:28
每次执行程序退出时总是报错,“……未处理的异常,读取位置0x00000ec0发生访问冲突。跟踪调试发现执行完OnCancel(),进入了一些库函数区,还有一些不能显示源代码的地方,总之不好调试。思路求助
另:子线程执行过程中一直在读串口,并向主线程发送消息,是不是程序退出时要对这一部分做个手动的强制性处理???
可能是哪些方面原因呢??空指针、野指针,实在找不出,求求大侠
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lulu23260 2012-12-03
  • 打赏
  • 举报
回复
问题解决了,呵呵,是我删除了一个用memset初始化过的全局数组后,没有清理解决方案造成的……,找问题的道路很艰难 真心谢谢各位
一叶之舟 2012-11-22
  • 打赏
  • 举报
回复
主线程退出前应该将子线程停止,并释放子线程中分配的资源。
lulu23260 2012-11-21
  • 打赏
  • 举报
回复
谢谢高手!! 我确实定义了动态变量,但是在类函数中并没有使用delete……析构这些,我也不太懂,呵呵, 参考您的建议,照这个方向我去改试试!谢谢您啦
情歌王子 2012-11-21
  • 打赏
  • 举报
回复
你在某些类中定义了动态变量(new创建的),然后在该类的析构函数中使用了delete来释放动态变量占用的内存,对不对?在你退出时,程序会首先会关闭窗口然后释放所有类占用的内存,同时也会释放动态变量占用的内存,但是那些动态变量早已经在析构函数中被析构了,所以会出错。 如果不是,那就是其他原因啦。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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