程序崩溃

2019-03-25 07:33发布

求助求助,求大神帮忙
简要说一下问题:做了一版CPLD程序,初始版本简称A,功能正常,连续测试24小时无问题,算是个稳定的版本;之后在A的基础上添加了个小功能,这个版本简称为B,因为上一版本测试通过,这个B版本就偷懒没进行稳定测试,只是手动读写了几十遍数据发现没问题,就接着用了;用了一天,控制逻辑都跑的稳稳的,然后发现里面包含的控制LED灯的程序有点小毛病,换了个控制条件,算是又改了一版,这个版本简称C。
改版的顺序是A→B→C。
然后悲剧发生了。。。
A/C版本怎么测试都正常,B只正常了一天,当我改完C之后,B就自己崩溃了,逻辑完全乱掉。我不理解的是,C版本是在B版本上改过来的,数据的逻辑控制完全一样,去看RTL图也是一模一样的,控制LED的部分是个单独的.V文件,完全不影响数据控制。
实际上我就是偷懒,新建了个工程,然后把B的.V文件全部复制过来,单独改改LED灯的.V,就成了C版本。。。。
代码实在太多,写的也比较乱,就不贴了,想问问有没有过类似经历的朋友,能给指个方向就成,我现在真的是很一脸懵逼,同事说我现在的表情都能做表情包了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
辛昕
2019-03-25 22:33
好吧,其实我现在也希望被拯救,不过我没什么心情发帖求救。
这么多年一点进步都没有,以前遇事我还会叫几声,现在连叫都不会叫了。

哥们儿你这事吧,基本没得救。
不过我可以提供几个我多年这么苦逼的时候积攒下的经验:
不过这些也都是死马当活马治的方法。
特点是:粗暴,简单,有效,虽然破坏性很大。

1.你不是AC都正常吗?
那B能不能不要啊?
不管是从A再一次进到B,你加的内容不多吧?
要么是从C回退到B,你加的内容不多吧?
我估计挺多,不然你也不会在这求救,所以说,下次你要不装个svn 或者git我真的帮不了你。当然这次就算了,不要节外生枝,这是我的忠告之1.1.这事还是先解决事儿吧,CVS的事情下次再研究。

2.不就是B出问题吗?简单啊。
你大概还是知道你加了什么功能吧?
管他,把加的功能一点一点注释掉就是屏蔽掉,然后看看在什么位置出问题,这招百试百灵。
至于你是想从C一点点关掉还是一次全关掉新加的功能,再一点点打开,这看你爱好了。

对了,你需要一个文本比较工具,Beyond compare挺不错的,要是你没用过或者根本不知道,那,那我真的只能说你去百度了。

然后好吧,忙去吧,没别的招。

屏蔽新加的代码,这招是我用过最爽最直接的招,虽然花时间,但对这种事,几乎百试百灵。

一周热门 更多>