首页 > 技术 > 内容

老程序卡住了怎么办?

时间:2025-11-30  作者:Diven  阅读:0

昨天某学员联系我,给我拍了这么一个图,问怎么解决。

f47c2bea-36ac-11ee-9e74-dac502259ad0.jpg

我一看,这不简单嘛,就是串口缓存不够溢出了。

解决方法就是:读快点,缓存搞大点,把延时去掉或者改小不就OK了么?

给了答案后,过了半天回复,仍旧没有解决,现象是程序就只执行了一次,卡住了,不执行。

晚上10点又在问我,这工作劲。我想那就远程看程序了。

远程一打开,顿时感觉程序是“意大利面”,看起来心烦意乱。不过为了解决BUG,我决定静下心来分析。

学员说这个一个国外合作的很久前的LabVIEW的采集程序,硬件啥都有,只是程序在,跑程序的老电脑不在了。换了台新电脑,驱动啥的都装好了。就几个串口,还有DAQ采集的。然后领导要恢复起来,能运行。

看的很头大,程序总共就一个while里面,while里面有FOR循环,FOR循环里面还有定时循环。

这1个while循环里面,有5个仪器的读写程序,还有2个DAQ采集卡。都在一个while里面。感觉写程序的,哪里有空位,就写到哪里。反正已给字:乱。

我心里第一想的,这么乱的程序,不如自己重写。

但是,重写工作量大,先解决问题为主吧。人家只要能用就行。

尝试运行一次,果然卡住,由于程序就一个while,高亮执行很久,单步也一样。只能导出打探针看看执行情况。

终于发现了原因,有个仪器有个设置程序,设置之后,会读取仪器是否有设置成功的指令返回。结果这个程序,用了一个while循环,不停的读取串口缓冲,判断是否有某个字符串,收到这个字符串,才退出while。

而实际这个仪器设置有问题,没有回复正确字符串,while循环退不出,把这个程序卡住了。而且这个while,作为子vi的子vi的子vi的程序,嵌套很深。后来把仪器设置对了,问题解决。

原版程序不方便截图,大概如下图所示,大家自己内心体会一下。

f4a1e6be-36ac-11ee-9e74-dac502259ad0.png

全程远程1小时5分钟。

所以这里不得不说,有些人写代码确实能跑,但是稍微不注意,就跑不起来。包括这个等待仪器回复的这个while,按常理,不应该用一个while判断,即使判断,也要设置一个超时,等待一定时间后后,自动退出while,弹出错误提示。

所以,很多人问的一个简单问题,背后可能是其更大的问题。

希望我们都不要遇到和接手“祖传”代码。


审核编辑:刘清

猜您喜欢


电子元器件的选择非常重要。长兴电子作为国内知名的电子元件生产企业,其生产的长电极电阻因质量优良、规格齐全而受到市场青睐。本文将从长兴电子长电极电阻的大小规格、型...
2022-01-06 13:58:58
消防水带是消防系统中不可少的重要设备,其参数直接影响到灭火效率和安全性。水带的口径是一个关键参数,常见的有25mm、38mm和65mm等不同规格,选择合适的口径...
2014-04-23 00:00:00
据传感器专家网获悉,8月8日,工信部发布了国家重点研发计划“高性能制造技术与重大装备”等16个重点专项2024年度项目申报指南的通知。16个重点专项包括:“高...
2024-08-12 19:20:00
什么是MEMS?MEMS传感器基本构成MEMS被认为是21世纪最有前途的技术之一,如果半导体微制造被视为第一次微制造革命,MEMS则是第二次革命。通过结合硅基...
2024-01-04 16:29:00
电动螺丝排列机是高效、智能化的设备,专为提升生产线的自动化程度而设计。能够快速、准确地将散乱的螺丝进行排列,极大地降低了人工操作的复杂性和劳动强度。该设备采用先...
2019-02-02 00:00:00
电阻器作为基本元件,承担着控制电流和分压的重要任务。而防硫化电阻因其优异的耐硫化性能,应用于汽车电子、工业控制等领域。KOA(兴亚)作为知名的电阻制造商,其防硫...
2015-02-14 19:19:00
现代工业自动化和电子设备中,电流传感器是非常重要的配件。能够准确测量电流的大小和方向,为系统的安全运行和性能优化提供数据支持。市场上电流传感器种类繁多,性能参数...
2025-11-18 06:00:03
贴片电阻1502指的是其尺寸为1.5mm x 0.2mm,是一种表面贴装电阻(SMD电阻)。 15代表长度为1.5mm,02代表宽度为0.2mm。这种尺寸的电阻...
2024-11-29 10:26:12
纸介质电容是利用纸作为介质材料的电容器。基本构造包括两个导电层,通常是金属薄膜,夹在一层绝缘的纸介质之间。纸介质电容良好的电气性能和稳定性,应用于电子设备中。纸...
2008-04-19 00:00:00
转向仪是重要的测量仪器,应用于多个领域。在汽车工业中,转向仪被用于检测和调整车辆的转向系统,确保行车安全与稳定。在航空航天领域,转向仪用于飞行器的导航与控制,帮...
2010-01-09 00:00:00