5809|15

61

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

因为这个问题我辞职了,但是想知道这个问题怎么解决 [复制链接]

程序用mfc写的,一个同时从网络上获得4各摄像头发过来的jpg显示出来,我是继承了CStatic,里面加了一个线程,调用jpeglib这个库来显示的,一开始我用互斥来做的解码出错,问题太多了,我修改了库里面的代码,内存溢出,本人水平有限,学习mfc不到2个月,后来就把解码库直接调用,等于是开了4个同样的库,问题就来了,我在我用的800x480的开发板上测试,程序运行后没有规律的白屏,但是我在白屏的时候设置断点,屏幕又恢复正常,其实程序一直在运行,只是屏幕白了。我在另一台320x240的开发板上运行,从来没出现过白屏的问题,在老板的800x480的板子上运行一会就图像全部收不到,然后一会就又都能收到,再过一会会有命令行弹出,开发板在老板手里,我不知道弹出命令行上显示了什么,再过不到一会,程序就退出了,我在电脑模拟器上运行也是一切正常,真不知道是什么错误了,设置断点根本就不会有用,在白屏的时候设置断点,就不白屏了,老板天天有机会就骂我,我不干了,但是我还是想知道为什么出错,错在那里,希望大家能指点下我,要程序的可以贴上

最新回复

加断点,说明你此时编译已经带debug信息了;而你烧进去的程序没有debug信息。 因此,有一个可能是你有函数写的有问题,不同的编译优化选项会造成问题。  详情 回复 发表于 2010-6-17 14:17
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
估计是显示驱动,线程同步都有问题。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
首先在模拟器上正常不代表在真机上正常。如果加断点就可以的话基本上可以看看线程同步的问题了。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

4
 

碰到这种问题,需要仔细找原因

1. 屏蔽掉显示部分,检查数据接收部分,是否能正确接收数据,以及数据是否完整,网络接收使用是什么模型,异步 or 同步?I/O模型是什么?

2. 线程如何工作的?是一个摄像头一个线程,还是一个线程对应多个,需要仔细检测线程调度时序是否正确

3. 如果网络和线程都没有问题了,再进行显示,可以单独测试下jpeglib库,保证界面显示正确,然后加到你的系统来
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
我屏蔽掉显示部分,一切都是正常的,内存没有升高,数据都是完整收到,用的同步做的

由于我是一个线程调用一个jpeglib,就是一个CStatic中调用一个,我同时建了4个CStatic,在把数据发送到jpeglib中的时候都加上了临界区保护,就是想不明白那里的问题。

只接收一路图像的时候也有时会出现错误,但是我在320x240的开发板上就不会有错误,经过2天不关机测试过了。

大家如果需要,我贴出代码
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 witchsnk 的回复:
我屏蔽掉显示部分,一切都是正常的,内存没有升高,数据都是完整收到,用的同步做的

由于我是一个线程调用一个jpeglib,就是一个CStatic中调用一个,我同时建了4个CStatic,在把数据发送到jpeglib中的时候都加上了临界区保护,就是想不明白那里的问题。

只接收一路图像的时候也有时会出现错误,但是我在320x240的开发板上就不会有错误,经过2天不关机测试过了。

大家如果需要,我贴出代码


把代码上传到eeworld,看下
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

7
 
上传的文件还要等一回才能看到地址,ilovedev你的邮箱是什么,我先发给你
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

8
 
http://download.eeworld.net/source/947637  
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
up
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
顶上去,让更多高手看到
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

11
 
顶一下,看看
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
我把我的邮箱留下,谁知到哪里需要修改,就发我邮箱去,谢谢
witchsnk@126.com
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
关注。静待解决
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

14
 
MARK, 学习下、。、
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

15
 
顶上去,让更多高手看到
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
加断点,说明你此时编译已经带debug信息了;而你烧进去的程序没有debug信息。
因此,有一个可能是你有函数写的有问题,不同的编译优化选项会造成问题。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表