• Veins(车载通信仿真框架)入门教程(四)——调试及记录结果


    Veins(车载通信仿真框架)入门教程(四)——调试及记录结果

    在Veins入门教程(三)最后的动图中(如下图)可以看到大大小小的光圈,这个怎么实现的呢?

    很简单,以收到RTS消息为例,通过finHost()->getDisplayString().updateWith()设置光圈的半径和颜色即可在收到RTS消息时令节点周围显示指定颜色和半径的光圈。

    这样一方面增强了展示效果,另一方面也有助于调试程序的时候直观地发现哪里出现问题,比如多跳数据传输传着传着就中断了,我们可以根据光圈确定沿路的中转节点,接着通过点击控制台右上角的第三个按钮(如下图)

    在这里插入图片描述

    调出Filter Window Contents界面如下,选择特定节点的特定层(Layer)在控制台展示其输出打印出来的语句,根据自己设置的输出语句判断程序进行到哪一步,有没有按自己的设想运行?
    在这里插入图片描述这个打印语句的操作是怎么实现的呢?
    还看第二幅图,接收到RTS后,通过语句DBG_APP << "APP:handleLowerMsg()->receive RTS from node " << wsm->getSenderAddress() << endl即可实现。
    或者点击控制台右上角第二个按钮调出如下界面,搜索控制台所有输出语句的特定内容,找到自己需要的打印内容进行分析。
    在这里插入图片描述最后怎么记录仿真结果呢?
    通过finish()函数内的recordScalar(“名称”,变量)即可记录特定变量,这个变量应当是用于记录结果的类成员变量,最后仿真完在仿真文件的文件夹内会有一个名为results的文件夹产生,点进去就能找到结果记录文件,双击直接在OMNeT++里面打开即可找到自己记录的那些变量结果,基本上就这些,自己试试吧~
    在这里插入图片描述

  • 相关阅读:
    BZOJ4240: 有趣的家庭菜园
    BZOJ1509: [NOI2003]逃学的小孩
    BZOJ5301: [Cqoi2018]异或序列
    BZOJ4540: [Hnoi2016]序列
    BZOJ4956: [Wf2017]Secret Chamber at Mount Rushmore
    BZOJ2141: 排队
    BZOJ1833: [ZJOI2010]count 数字计数
    HDU2089: 不要62
    BZOJ5178: [Jsoi2011]棒棒糖
    BZOJ3439: Kpm的MC密码
  • 原文地址:https://www.cnblogs.com/zhengkunxian/p/11760521.html
Copyright © 2020-2023  润新知