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++裏面打開即可找到自己記錄的那些變量結果,基本上就這些,自己試試吧~
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章