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数据输入端出问题,过程可能没有问题。

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

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

时间: 2024-08-02 16:05:42

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

Android-Cannot merge new index 66195 into a non-jumbo instruction的解决的方法

转载请注明来源:http://blog.csdn.net/goldenfish1919/article/details/33729679 用eclispe打包的时候报错: [2014-06-23 13:44:35 - Dex Loader] Unable to execute dex: Cannot merge new index 66195 into a non-jumbo instruction! [2014-06-23 13:44:35 - tao_apad_2.0] Conversion

win7/10下Qt Creator调试提示:The selected debugger may be inappropriate for the inferior的解决办法

在win7/10下Qt Creator调试提示:The selected debugger may be inappropriate for the inferior的错误提示内容如下图所示: 一般弹出这个提示是很难进入调试,也看不到调试输出信息的.看到这个报错令人很失望. 解决:下载windows sdk  win10 sdk 只安装Debugging Tools for Windows 打开 工具-选项-Kits 安装sdk成功后我们可以看到 已经检测到了我们安装的cdb 打开工具-选项-构

git提交过程中遇到的 index.lock 问题导致无法提交的解决方法

在提交代码的过程中,可能会遇到下面的问题: fatal: Unable to create 'C:/programLists/zzw-q1/.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is

ArrayList调用remove(int index)抛出UnsupportedOperationException问题分析以及解决记录

使用Arrays转数组成为List后,不能调用add(...)和remove(...)方法,此时如果调用就会抛出UnsupportedOperationException异常 原因 其实Arrays.asList(...)转成的List不是java.util包下面的ArrayList,而是一个内部静态类ArrayList. asList(T... a)方法 public static <T> List<T> asList(T... a) { return new ArrayList

ThinkPHP笔记——开启debug调试模式

debug+trace模式可以查看开发过程中TP的错误信息,可以更好地帮助开发者debug.但是debug模式的开启还不是简单的在配置文件中中设置就可以的,经过查资料摸索,找到一种有效的方法. 首先在你已经部署好了ThinkPHP的项目目录 然后注意是在入口文件开启调试模式,在入口文件index.php 中写入一下代码define(‘APP_DEBUG’,true); 首先删除Runtime目录 ,然后再次运行一下,你会发现runtime目录下面的~runtime.php 文件没有了,说明你的调

PHP简易聊天室&amp;调试问题

在进入login.php程序之后 <?php error_reporting(E_ALL^E_NOTICE); session_start();  //装载Session库,一定要放在首行 $user_name=$_POST["nick"]; //session_register("user_name"); //注册$user_name变量,注意没有$符号 $_SESSION['user_name']; ?> <!--chat.php:My聊天室主

索引 index

数据库访问性能优化 特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库: 3.  本文未深入数据库优化中最核心的执行计划分析技术. 读者对像: 开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化. 架构师:如果你已经是数据库应

VS Code 调试 PHP有关配置

一.安装VS CODE . WampServer 二.用VS Code 打开php项目后,提示 "Cannot validate since no PHP executable is set. Use the setting 'php.validate.executablePath' to configure the PHP executable." 解决方法如下: 在"文件"-"首选项"-"设置"下添加: 三.在VSCode

[转载]开启debug调试模式

debug+trace模式可以查看开发过程中TP的错误信息,可以更好地帮助开发者debug.但是debug模式的开启还不是简单的在配置文件中中设置就可以的,经过查资料摸索,找到一种有效的方法. 首先在你已经部署好了ThinkPHP的项目目录 然 后注意是在入口文件开启调试模式,在入口文件index.php 中写入一下代码define(‘APP_DEBUG’,true); 首先删除Runtime目录 ,然后再次运行一下,你会发现runtime目录下面的~runtime.php 文件没有了,说明你的