在Eclipse下调试NS

下载Eclipse for C++
eclipse一定要在终端的特权模式下打开,不然在eclipse中编译ns会提示权限不够。
为了使NS能输出调试信息,需要运行NS2目录下的configure命令。具体做法是:
进入NS安装目录(/opt/ns-allinone-2.30)   cd /opt/ns-allinone-2.30/ns-2.30

++++++++++++++++执行configure命令: ./configure –enable-debug  //这样会使ns编译时的char转换从警告变成错误,导致无法编译,所以我推荐另一种做法:
在ns-2.xx/下的Makefile文件中的CCOPT    =  -Wall改成CCOPT    = -g -Wall 即可 

B.将Eclipse的workspace 指定到/yourname/ns-allinone-2.30:具体做法是在Eclipse中点击file->Switch Workspace->Other ,然后在出现的框中选择/yourname/ns-allinone-2.30, 然后关闭并重新打开Eclipse即可。
C.新建C++  makefile工程:在project Explorer中右键,新建C++工程;输入工程名字ns-2.33(会提示你覆盖原来的文件夹,没事的), 设置工程属性,位置是ns的安装目录即:/yourname/ns-allinone-2.30,类型是Makefile Project -> Empty C++ Project,tool chain 选linux GCC,点击finish.
E.设置Run属性:右击项目名称,选择properties, 在出现的属性页的左边选 Run/Debug Settings, 点击右边的New按钮,在随即弹出的窗口中选中C/C++ Local Application, 点击OK按钮,会弹出一个Properties for New_configuration的框,在Main页的C/C++Applicaion中选择NS的可执行文件即可。
F. 运行: 做好以上设置后可以编译,并运行ns。编译时在Eclipse中点击project-> clean, project->build all, 编译需要大约10分钟左右的时间。运行可点击工具栏中的Run ns-2.xx Default 按钮来运行。 运行后Console中的提示符变为%,此时可在Console中执行NS命令。比如可输入:
Puts “Hello NS2”
会输出: Hello NS2
这表明在Eclipse中调试NS基本成功了!
G.设置Arguments:NS有两种运行方式,在终端中直接输入ns,会出现%提示符,在该提示符下可输入NS命令。上一步所示属于这种方式。另一种方式是在终端输入某个tcl文件的名字,比如有一个example1.tcl文件,在该文件所在目录下打开一个终端,输入ns example1.tcl即可执行该文件,此种方式如同批处理的方式运行tcl文件中的ns命令。这种运行方式在Eclipse中也可以实现。这需要设置。
同E步一下,进入Properties for New configuration框,点击Arguments, 在其中的program arguments框中输入example1.tcl并保存即可。注意,此时,example1.tcl应处于项目目录下,假设Eclipse中的NS项目名为:new_ns-2.30, 则项目录为/opt/ns-allinone-2.30/new_ns-2.30。
如果example1.tcl处于/opt目录下,则输入参数为 /opt/example1.tcl 即可。
H. G步完成后,再在Eclipse中运行ns, 则相当于在终端中执行ns example1.tcl一样的结果。以后如果需要运行不同的tcl文件,在用G步的方法修改运行参数即可。
原文地址:https://www.cnblogs.com/zhangleiccst/p/2062284.html