相信很多喜欢Java的人对eclipse都情有独钟。NS2程序的调试,可以用打印命令调试,这样太繁琐。也可以用gdb调试,个人觉得上手比较困难。相信各位学习NS2的新手,在看代码的时候,很多的函数或者变量,都不知道在哪里声明的,就会在程序中开始使用,往往令我们很困惑。

调试、阅读代码的烦恼,那么让eclipse来帮你解决吧

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选项,但这不需要手动修改,具体操作如下:

进入ns-allinone-2.27./ns2.27目录,执行命令

./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.27。在toolchains中要选择Cygwin 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、在Cygwin窗口重新make。在eclipse中NS2工程上右键-built configuration-build-all 。这次真的大功告成,如果还问题,我也没碰到,自己解决吧。

此后你看NS2 C++代码的时候,如果想看哪个变量或者方法的定义,就可用通过eclipse方便的找到。注意F3键的使用哟~~~

据说 Eclipse下图形界面下调试项目要比直接用gdb调试要方便的多。

最后:若果你不带tcl文件作为参数运行的时候,如果在console 输入puts “Hello world”等命令不能正确执行的话,在Run Configuration里面设置一个path路径,指向cygwin的bin目录。之后运行就可以了。祝好运~~~

ns2 java_【NS2】用eclipse调试NS2(转载)相关推荐

  1. Eclipse 调试器(引用IT168)

    Eclipse 调试器:零距离接触实战技巧 2011年11月25日01:29IT168 字号:T|T 调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码.Eclipse调试器的目标是让程序员能 ...

  2. eclipse调试详解

    eclipse调试详解 作者: 高州人家 来源: 网络转载 浏览: 1610 次 好评: 0分 [ 小 中 大 ] 2007-11-16 本地调试     Java   调试器具有客户机/服务器设计, ...

  3. ubuntu 环境下调试mysql源码_Linux中eclipse调试mysql源代码

    Linux中eclipse调试mysql源代码 系统:Redhat Linux 6.4 准备的包: eclipse-cpp-luna-SR1-linux-gtk-x86_64 .tar.gz cmak ...

  4. 一个简单的Eclipse调试Debug流程(四)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

  5. eclipse调试debug时出现source not found

    eclipse调试debug时出现source not found 在代码中设置了断点,程序调试过程中可以继续运行使用断点,但是看不见程序走到哪了,debug页面出现source not found, ...

  6. 1.Weblogic通Eclipse调试配置(Weblogic同Eclipse调试配置技术)

    概述:环境是eclipse,maven,svn, 在实际的的应用项目中,我们经常遇到本地应用程序没有问题,而部署到Weblogic上缺出现问题,查看日志并找不到原因,这时就需要调试部署上的程序与本地e ...

  7. Eclipse调试多线程代码

    Eclipse调试多线程代码 标签: eclipse 调试 多线程 | 发表时间:2013-02-16 05:51 | 作者:czjuttsw 分享到: 出处:http://blog.csdn.net ...

  8. Eclipse快捷键大全(转载)

    Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当 ...

  9. 让eclipse调试和豌豆荚并存

    豌豆荚有一个设置 设置->高级设置->开发者模式 勾上开发者模式 确定. 你什么手机的驱动都不用安装了. 就可以直接使用豌豆荚,也可以使用eclipse进行调试. 转载于:https:// ...

  10. linux + ffmpeg + eclipse 调试

    使用linux + ffmpeg + eclipse调试步骤 OS : ubuntu 12.04 Eclipse : 3.7.2 为Eclipse安装cdt插件,使其支持c/c++ 导入ffmpeg项 ...

最新文章

  1. 台式计算机刚换的显示屏怎么设置,台式机怎么样切换显示器
  2. asp.net缓存机制
  3. mysql数据库一些可能会用到的命令
  4. 玩转Mixly – 2、Arduino AVR编程 之 输入输出
  5. MATLAB从入门到精通-缺失值和异常值的处理应用案例
  6. BZOJ 4720 [Noip2016]换教室
  7. 【2016年第2期】专题导读:大数据与社会治理
  8. jsp转换java_JSP编码转换
  9. CR(code review)常见问题
  10. 网工必备交换机原理与配置
  11. 一道关于压缩包的ctf题目(包括暴力破解,明文攻击,伪加密)
  12. HNOI2004宠物收养所
  13. 《心经》经典段落及释义
  14. 【硬十宝典目录】——1、电源类(更新中~)
  15. 不使用前端的pdf.js,通过pdfbox转换pdf为图片,拼接成html实现pdf前端预览
  16. MySQL数据库如何改名
  17. android平板电脑怎么才能连接电脑,平板电脑怎么连接电脑 最有效方法【图解】...
  18. excel中文显示乱码
  19. 服务器开发系列(三)——Linux与Windows操作系统基础功能对比
  20. Postman使用newman命令执行

热门文章

  1. 【Oracle Database】Oracle GoldenGate (single-single)
  2. eclipse idea 导入maven项目
  3. 使用ClassLoader加载资源详解
  4. git tag — 标签相关操作
  5. 【1131】C/C++经典程序训练1---最大公约数与最小公倍数
  6. 如何让你的网站快速被百度收录。
  7. Java基础-控制流程-3. 确定循环
  8. .NET简谈反射(动态调用)
  9. 华为鸿蒙系统首发设备,鸿蒙首发设备包装曝光:安卓已成过去式,鸿蒙正式走上舞台...
  10. controller层没反应_打过蜡的石材再做结晶没效果怎么办?