NS2在eclipse下的部署以及调试
来源:互联网 发布:西安软件开发 大专 编辑:程序博客网 时间:2024/06/08 18:48
1、下载eclipse并安装CDT插件。CDT插件使得eclipse可以创建C、C++工程。下载CDT插件的时候注意和 clipse版本匹配。当然你也可以到eclipse的官方网站,直接下载一个专门开发C、C++的eclipse版本。这样就不用安装CDT插件了。
2、安装ns后,并不能调试ns,因为在安装时的编译链接操作并没有将调试信息加入到可执行文件ns中,此时的ns文件只有5M多大小。要调试ns,需要将调试信息加入到ns文件中,这就要修改Makefile文件,使其中的gcc命令加入-g选项,但这不需要手动修改,具体操作如下:
./configure --enable-debug
此操作会生成新的Makefile,查看新Makefile文件中的编译命令会发现增加了-g选项。增加了调试信息的ns文件有15M大小
3、在eclipse中,依次选择[File -> New -> Project -> C++ project -> Makefile project ]。填入Project 名称NS-2.27。将Use Default Location 的勾去掉。然后将Location 設成Makefile 所在的目录NS2.35。在toolchains中要选择Linux GCC。之后点击finish。
4、大功告成,这时候你可以查看eclipse的控制台Console,里面在疯狂的显示eclipse编译NS2的相关信息。貌似就是在Make。
5、如果很不幸,eclipse编译后出现3个错误,第一个错误是关于找不到namespace CPP_NAMESPACE,第二个、第三个……。下面教你修复这个错误,进入NS2 2.27目录,打开autoconf.h文件。将以下内容替换:
/* stl */
#ifdef __cplusplus
#define HAVE_STL 1
#define CPP_REQUIRES_NAMESPACE 1
#ifdef CPP_REQUIRES_NAMESPACE
using namespace CPP_NAMESPACE;
#endif /* CPP_NAMESPACE */
#endif /* __cplusplus */
替换为:
/* stl */
#ifdef __cplusplus
#define HAVE_STL 1
#define CPP_NAMESPACE std
#define CPP_REQUIRES_NAMESPACE 1
#ifdef CPP_REQUIRES_NAMESPACE
using namespace CPP_NAMESPACE;
#endif /* CPP_NAMESPACE */
#endif /* __cplusplus */
6、重新make。在eclipse中NS2工程上右键-built configuration-build-all 。这次真的大功告成,如果还问题,我也没碰到,自己解决吧。
---------------------------------------------------------------------------------------------------
1、首先修改ns-2.34目录中的Makefile文件,开启调试模式,便于gdb调试
将
CC= gcc
CPP= g++
改为
CC= gcc -g
CPP= g++ -g
2、打开Eclipse,File->Import一个已经存在的工程,GCC类型是Linux GCC工程目录是$NS_HOME/ns-2.34
3、设置Run属性:在工程目录下找到ns文件,右击ns,选择properties, 在出现的属性页的左边选 Run/Debug Settings, 点击右边的New按钮,在随即弹出的窗口中选中C/C++ Local Application, 点击OK按钮,会弹出一个Properties for New_configuration的框,在Name里面命名你的ns程序,默认就是ns,在Main页的C/C++Applicaion中选择NS的可执行文件即可,
4、运行: 做好以上设置后可以编译,并运行ns。编译可以单独在终端里面编译,Eclipse的Build太慢了,看着进度条一动不动就心烦。编译完后运行可点击工具栏中的Run->ns按钮来运行。 运行后Console中的提示符变为%,此时可在Console中执行NS命令。比如可输入:
Puts “Hello NS2”
会输出: Hello NS2
这表明在Eclipse中运行NS基本成功了!
5、设置Arguments:NS有两种运行方式,在终端中直接输入ns,会出现%提示符,在该提示符下可输入NS命令。上一步所示属于这种方式。另一种方式是在终端输入某个tcl文件的名字,比如tcl/ex/simple.tcl文件,在该文件所在目录下打开一个终端,输入ns tcl/ex/simple.tcl即可执行该文件,此种方式如同批处理的方式运行tcl文件中的ns命令。这种运行方式在Eclipse中也可以实现。这需要设置。
同3步一样,进入Properties for New configuration框,点击Arguments, 在其中的program arguments框中输入tcl/ex/simple.tcl并保存即可。
6、在Eclipse中运行ns, 则相当于在终端中执行ns tcl/ex/simple.tcl一样的结果。以后如果需要运行不同的tcl文件,在用5步的方法修改运行参数即可。
7、如果要调试,那么点旁边的Debug(ns)按钮,然后就会出现调试窗口,按F8,然后就会在你设置的断点处停下,然后就可以查看变量检查错误
8、另外,可能在Console中输出的内容非常多,运行结束后显示不能完全,因此可以将Console输出重定向到文件中,同第3步中打开Properties for New_configuration对话框,在Common标签的Standard input and output组中的File中输入你要重定向的文件,比如我把输出内容重定向到/home/eclipse.out,如果不勾选Allocate Console选项,则运行的时候不会在Console中显示输出
----------------------------------------------------------------------------------------------------------------------------
当用./configure --enable -debug生成带调试功能的Makefile后,我们去make时,注意,这时在ns2之前添加的协议要重新加入到Makefile的OBJ_CC中,因为这个是重新生成的;
2、还要注意在新生成的Makefile中加入了 -Werror选项,导致遇到Waring被当成是error去处理了,所以很麻烦,这时要将这个参数删掉即可。
- NS2在eclipse下的部署以及调试
- NS2安装及在Eclipse下调试
- NS2安装及在Eclipse下调试
- 在Eclipse中调试和运行NS2
- NS2导入Eclipse调试
- 用eclipse调试NS2
- 用Eclipse远程调试部署在Tomcat下的Web应用程序
- 用Eclipse远程调试部署在Tomcat下的Web应用程序
- 用Eclipse远程调试部署在Tomcat下的Web应用程序 .
- 用Eclipse远程调试部署在Tomcat下的Web应用程序
- Lucene在Eclipse下的部署
- 在Ubuntu下给NS2配置GUI调试环境
- 在Ubuntu下给NS2配置GUI调试环境
- 在eclipse下的maven工程调试
- Eclipse远程调试tomcat下部署的项目
- OGSA-DAI在Eclipse上的部署与调试
- Eclipse 远程调试部署在Linux weblogic上的项目
- eclipse 远程调试部署在服务器的项目
- system阻塞SIGCHLD信号原因
- Socket使用教程——AsyncSocket
- iOS9下有关CoreLocation学习三
- Codeforces 416E. President's Path 图论 最短路 处理技巧
- 《数据结构与算法分析(c 描述)》—— 第六章笔记
- NS2在eclipse下的部署以及调试
- xcode 调试
- 华尔街见闻-2016年2月
- Android allowTaskReparenting clearTaskOnLaunch alwaysRetainTaskState
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- hdu4521 小明系列问题——小明序列(条件LIS)
- linux grep命令
- Cocoapods 相关问题
- iOS网络编程实践--蓝牙对等网络通信实例讲解