天天看点

ubuntu上安装ns2以及调试工具

本人因毕业论文的需要开始学习NS2,再次记录学习中学到的和遇到的问题,欢迎大家批评指正!

(一) 安装ns的基本过程  

步骤1:安装编译环境,gcc和make,用于编译C++代码

sudo apt-get install build-essential

步骤2:安装tk、tcl库文件,用于解释编译OTcl文件

sudo apt-get install tk8.5

sudo apt-get install tk8.5-dev

sudo apt-get install tcl8.5

sudo apt-get install tcl8.5-dev

步骤3:安装nam 库文件,用于执行模拟图像

sudo apt-get install libxmu-dev

步骤4:下载NS安装包,解压到安装路径下/home/xxxxx/   例如  /home/syg

tar -vxzf ns-allinone-2.33-.tar.gz

步骤5:进入解压文件夹,安装NS

cd ns-allinone-2.33

./install

步骤6:配置环境变量

在/home/YYYY/路径下   YYYY主机名

gedit  .bashrc   (可以在指定目录下 ls -a寻找所有文件)

添加上环境变量

PATH="$PATH:/home/syg/Program/ns-allinone-2.33/bin:/home/syg/Program/ns-allinone-2.33/tcl8.4.18/unix:/home/syg/Program/ns-allinone-2.33/tk8.4.18/unix"

LD_LIBRARY_PATH="/home/syg/Program/ns-allinone-2.33/otcl-1.13:/home/syg/Program/ns-allinone-2.33/lib"

TCL_LIBRARY="$TCL_LIBRARY:/home/syg/ns-allinone-2.33/tcl8.4.18/library"

注:上述中的版本号根据你所安装的具体版本而定!

步骤7:测试在终端输入 ns ,如果终端返回 % 说明安装成功!

注:更改某文件夹下的所有文件的权限 chmod 777 xxx -R

在文件夹/home/syg/ns-allinone-2.33/ns-2.33/tcl/ex  文件夹下有系统提供的实例   可以尝试运行以检测自己的ns时候完全没有问题

(二) ns上调试代码

1. 首先 C++代码层的调试其基本原理就是在用gcc 编译时 额外将一些辅助调试信息加入到生成的.o文件中去。 (一般在Makefile中编译选项处添加 -g,或者在./configure 时用 --enable-debug 选项)。这样在程序调试时,通过添加进去的辅助信息才可以追踪到程序运行处所对应的源代码文件具体位置以及其它相关信息。 在linux下调试工具或者说是读这些调试信息的工具,无非就是gdb了。GDB的功能很强大,本身通过命令行形式完成各种如堆栈查看等相关调试工作。

2. 虽然 GDB 很强大,但其实在一般的调试中,我们所用到的功能也非常有限。而且,其命令行形式,虽然灵活,但方便不足。 理想的VC6流畅的调试体验通过GDB一行行的命令实在难以获得。然而,在unbuntu下,有一些IDE工具可以帮助我们接近这种体验,如KDevelop 和 Eclipse+CDT等~ 这些IDE工具其本质上也是在调用linux系统中本身的gdb工具,只不过,它们将这些命令行通过IDE中友好的用户界面包装好,从而为我们提供了比较好的调试体验。

3. 可能是因为以前经常用VC6分析MFC的框架的缘故,理想中我也非常希望NS2在eclipse的帮助下,能够获得相同的调试体验,那就是:自由地在跟踪整个NS2框架从初始化到仿真脚本执行完中涉及到的全部源代码流。 这样的好处不言而喻:一来可以对NS2的框架有更深、更透彻的了解;二来,通过跟踪仿真流程,可以对某个具体协议的运行有着更立体化的认识,从而加深对理论的认识。其实,我初期研究NS2的大部分工作都是为了达成这一个理想体验。

本人比较推荐的是用 Eclipse eura +CDT 3.0 它的安装说明将在另一个专贴中说明  

连接:http://blog.csdn.net/syaguang2006/article/details/22519589