callInitialize()

时间:2017-02-02 10:45:41

标签: omnet++ inet

我正在使用Inet框架,我想在模拟过程中动态创建多个无线主机。为此我使用了LaptopModelManager类,但是当我到达这一行时:在LaptopModelManager :: newNode方法中的mod-> callInitialize()我遇到了分段错误:

主题1" myNets"收到信号SIGSEGV,分段故障。 inet中的0x00007ffff74358d7 :: visualizer :: MobilityCanvasVisualizer :: receiveSignal(这= 0x34f2540,源= 0x7240fe0,信号= 95,对象= 0x7240fe0,详细信息= 0x0)在inet / visualizer / mobility / MobilityCanvasVisualizer.cc:126 126 entry-> visualization-> setTransform(cFigure :: Transform()。translate(position.x,position.y));

以下是我在ini文件中的内容:

**.laptopModelManager.NumNodes = 3
**.laptopModelManager.startLife = uniform(2s,3s)
**.laptopModelManager.endLife = uniform(6s,8s)
**.laptopModelManager.nodeType = "inet.node.inet.WirelessHost"
**.laptopModelManager.nodeName = "cliHostGuest"

在我的文件中,我添加了@dynamic:

的节点
cliHostGuest[n]: WirelessHost {
            parameters:
                @dynamic;
                @display("p=444,178");
                //mobilityType = "LinearMobility";
}

有什么问题?我真的很感激任何帮助,我尝试了很多东西,但却无法摆脱这个错误。

非常感谢

1 个答案:

答案 0 :(得分:0)

@RensvanderHeijden感谢您的回复。

以下是创建新节点的代码部分:

test

在这里你可以找到整个班级:

https://github.com/aarizaq/inetmanet-3.x/blob/inetmanet-2.2/src/mobility/single/LaptopModelManager.cc

如果我没有调用最后一行(mod-> callInitialize()),该节点将可视化但不做任何其他操作。当我执行callInitialize()时,会发生此错误。

您的回答似乎对我而言,但仍然不明白如何解决它。