ndnSIM开启调试模式
./waf configure --enable-examples -d debug
将optimized改为debug即可。
为什么要开启调试模式
在ndnSIM中(Getting Started — ndnSIM documentation),通常我们使用优化模式(optimized mode)来运行更真实的仿真。在编译配置中,我们使用optimized属性编译NS-3:
./waf configure -d optimized

由于日志等帮助调试的功能,会增加 overhead。所以测数据时,得把 ns-3以优化模式编译。如果我们希望看到调试日志,就需要以调试模式编译(debug mode)。Examples — ndnSIM documentation

在优化模式下,我们运行仿真不会有任何输出:
NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple

NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple --vis

开启调试模式
重新配置ndnSIM并进行编译,将模式设置为debug mode,在命令行加入 -d debug 命令(加不加 --enable-examples 都可以,不影响)
cd ~/ndnSIM2.7/ns-3/ #需要改为自己的NS-3安装目录
./waf configure --enable-examples -d debug
./waf

如果使用了 scenario (ndnSIM 如何使用 scenario 模板 进行 真实场景仿真-优快云博客)还需要重新安装:
sudo ./waf install
cd ../scenario
./waf configure
此时,在scenario模板中也能使用debug mode。
注意:在scenario模板中对自己的代码使用debug模式,前提条件——必须要在ns-3文件夹下编译为debug mode,重新安装后即可。否则会出现 ‘ Can not find 'ns3-core' ’找不到ns3-core的报错(大坑,ndnSIM 使用 scenario 模板时 编译报错 Can not find ‘ns3-core‘_ask in 'ns3-core' failed with-优快云博客)。【即:install了是什么模式,在scenario模板中才可以使用什么模式】
进入调试模式后可成功打印log
NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple


可以看到已经成功获取到了日志信息,包括Consumer和Producer产生的消息,说明调试模式(debug mode)设置成功。
同样也可以使用可视化工具加上日志信息:
NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple --vis

此时仿真不是自动开始运行的,需要点击Simulate按钮才能开始仿真。按照代码规定的时间,仿真结束后会自动停止。

关于日志打印出哪些信息,怎样打印,以及如何利用这些信息分析实验结果将在后续的分享中介绍。
NDN科研工作者,长期研究,欢迎讨论交流与合作!
本文介绍了如何将ndnSIM设置为调试模式,以便在仿真中查看调试日志。通过修改编译模式为debug,并重新配置及安装ndnSIM,可以成功打印log。调试模式对于观察Consumer和Producer的消息很有帮助,同时提到了使用可视化工具结合日志进行仿真分析的方法。
4604

被折叠的 条评论
为什么被折叠?



