omnet调试问题(一):关于 “no gate index specified when accessing vector gate 'out'”解决

时间:2017,8.24-25

  我是新人,最近开始用omnetpp做一个无线充电车在可充电网络中规划问题, “no gate index specified when accessing vector gate 'out'”是一个很常见的(好吧,以我这目前水平是这样)的问题,直到早上10点解决 ,瞬间感觉自己水平,还要继续提升!!以后要再努力点!现象如下:

     

  感谢刘老师教会我调代码,接下来详述一下我是怎么解决的,一开始我把起始事件触发条件给改了,但是并没有涉门连接的操作,居然就出现了上述的问题,经过一番调试,发现改动之后,门连接循环(我是通过for循环进行大量的连接)中的所使用的数组实际存储id不足了,最后一个门确实指向为空,接下来一个问题就是怎么会不足呢,应该是代码中产生id的函数出问题,回到前面去,发现产生id的函数变了,由于我把触发条件变了,导致产生id的条件也变了,引用了不同的函数,这个新引用的函数因为之前没用到,所以写完没调试,估计问题就是在这里。借此机会我把这个函数调试了一遍,发现了算法中很多bug,怪自己了,这些都与oment本身无关,经过奋战,终于解决了,借此机会把这个函数完善了,把其他周边又完善了一遍,完善了一些细节,这问题就解决了。

  这确实是个小问题,最为一个新手,总结一下自己遇到的门连接问题: 

1. 门连接出现的位置: 初始化,收发函数,连接显示(还有的继续补充)

2.考虑id是否正确:

      a.可能id超了(这是不允许的),超过了定义的gate size(初始化中)

      b.两id根本就没有连接

   c. 几个常见id类型混淆:array index,node id,mode id(三者不一样,小心)

3. 门连接出问题也有可能是其他算法出问题,导致连锁反应,所以这个现象很具有迷惑性!实际上不是门连接直接相关的代码出问题,而是id数据输入端出问题,过程可能没有问题。

  综上所述,以后吸取教训,加快效率,加油!

posted @ 2017-08-25 12:33  每天往前迈一步  阅读(422)  评论(0编辑  收藏  举报