天天看点

调试NS2, 使用Eclipse CDT或Qt Creator ------ NS2学习日记 (1)

系统:Fedora20_x64

NS版本:ns-2.35

问题:ns默认安装不支持调试, 网上介绍的方法主要介绍了ns部分如何调试, 在代码定位过程中tcl模块中代码无法定位。

解决方法:

如何使用Eclipse CDT 调试NS? 

1. 关于ns安装可以参见《VM下Fedora14与NS2安装过程》

2. 关于eclipse中建立ns项目可以参见《用eclipse调试ns2》中的1),3)两部分。

3. 如何使ns2支持调试, 方法如下:

1)将ns-allinone中不需要的模块删除(我仅留下了tk,tcl,otcl,tclcl,ns五个模块)

2)修改install脚本,将与已删除模块相关的语句删除

3)修改install脚本,将所有的make distclean(这会清除我们对MakeFile.in文件的修改)修改为make clean

4)首先进行一次ns的安装, 安装过程中会生成makefile文件

5)然后进入剩余每个模块的目录下,打开MakeFile.in文件,修改其中的CFLAG = XXX语句,在语句的末端添加 -g -O0

      其中-g 使编译后的文件支持调试,-O0则使编译器不进行优化,否则在调试中可能存在执行顺序与代码不匹配的情况!

6)删除nsallinone/bin下所有文件,执行./install文件即可完成安装。

7)设置断点即可进行调试, 解决了tcl中代码无法调试的问题。

如何使用Qt Creator 调试NS? 

1. 安装Qt Creator,在new project中选择import project,选中ns-allinone目录

2. 修改项目project选项中的配置,其中build览添加用户自定义执行过程:

    命令:bash

    参数:install

3. 修改run选项夹中的内容:

    将执行文件设置为%{buildDir}/bin/ns,工作目录修改为脚本目录,参数设置为脚本

执行调试即可!

继续阅读