VB.net写的程序,会死机

时间:2021-11-26 14:04:42
用vb.net2005写了一个程式,主要是监视Omron PLC的状态,以及下达指令给PLC,程序现在完全可以正常运行起来,但是不知道是哪种缘故,运行一段时间后,程序突然会死机,正常运行下,一般CPU占用不超过10%,内存一般在100M以内,而此时CPU占用会超过60%。
该程序在公司测试的时候是采集和控制2台PLC,到现场后是控制9台PLC,平时过去查看的时候,在那边待5个小时都很正常,但是过一段时间(不固定),会出现这种情况,该程序主要是一个采集数据,然后再根据该数据实时画图,并带有一些数据库操作。
在公司测试的时候,连续运行差不多30个小时,都很正常,数据通讯是采用以太网协议。
请各位大虾帮忙分析下原因,谢谢。

6 个解决方案

#1


用TRY 定位出错点,我原来也有过类似,实质是,程序偶然性接收段出错,可用TRY 将接收程序和子程序加TRY 先定位,并用MESSAGE 显示出是哪段的。

#2


 这种问题最不好调试了.建议楼主做压力测试.看看程序是否有内存泄露

#3


该回复于2011-11-14 16:00:48被版主删除

#4


同意#1楼的!

#5


引用 1 楼 chzadm 的回复:
用TRY 定位出错点,我原来也有过类似,实质是,程序偶然性接收段出错,可用TRY 将接收程序和子程序加TRY 先定位,并用MESSAGE 显示出是哪段的。

不一定是出错,也许是某些特殊的值导致循环之类的代码无法跳出,从而使其一直运行占用大量CPU时间

#6


逻辑错误

#1


用TRY 定位出错点,我原来也有过类似,实质是,程序偶然性接收段出错,可用TRY 将接收程序和子程序加TRY 先定位,并用MESSAGE 显示出是哪段的。

#2


 这种问题最不好调试了.建议楼主做压力测试.看看程序是否有内存泄露

#3


该回复于2011-11-14 16:00:48被版主删除

#4


同意#1楼的!

#5


引用 1 楼 chzadm 的回复:
用TRY 定位出错点,我原来也有过类似,实质是,程序偶然性接收段出错,可用TRY 将接收程序和子程序加TRY 先定位,并用MESSAGE 显示出是哪段的。

不一定是出错,也许是某些特殊的值导致循环之类的代码无法跳出,从而使其一直运行占用大量CPU时间

#6


逻辑错误