运行castalia时出错

时间:2017-07-20 16:43:27

标签: omnet++

当我运行castalia / simulations / simpleAggregation时,发现以下错误:

Starting...

$ cd C:/omnetpp-4.6/samples/castalia/simulations/simpleAggregation
$ ../../src/castalia.exe -r 0 -n ..;../../src omnetpp.ini

OMNeT++ Discrete Event Simulation  (C) 1992-2014 Andras Varga, OpenSim Ltd.
Version: 4.6, build: 141202-f785492, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Tkenv...
Loading NED files from ..: 3
Loading NED files from ../../src: 33
Loading NED files from C:\omnetpp-4.6\samples\castalia\src: 33

Loading images from C:\omnetpp-4.6\images: *: 0  abstract/*: 90  background/*: 4  block/*: 320  device/*: 195  logo/*: 1  maps/*: 9  misc/*: 70  msg/*: 55  old/*: 111  status/*: 28  

Plugin path: ./plugins
undisposed object: (cTopology) SN.wirelessChannel.topo -- check module destructor
undisposed object: (cTopology) SN.wirelessChannel.topo -- check module destructor

End.

1 个答案:

答案 0 :(得分:2)

这不是经典的错误案例。 undisposed object消息提示您在完成使用后,源代码中的消息,数据包或其他OMNeT ++对象未被删除。

这通常表示代码中存在一些内存泄漏。 例如,在您将数据包封装或解封装在另一个数据包中时会创建数据包,之后您使用和删除en / de-capsulated消息,而不是在en / de-capsulation过程中创建的副本。然后,OMNeT ++将显示undisposed object,其中包含所述数据包的名称。

您可以使用Valgrind在Valgrind内的命令环境中执行模拟时检查内存泄漏,以找出未创建的未处理对象的确切位置。 或者您可以简单地忽略该消息,它(通常)不会中断执行。