在Ubuntu下给NS2配置GUI调试环境

在早期的NS2中,支持Windows下的VC调试环境,但是貌似NS2.27后就不支持了。因此使用NS2最好在Linux下,那么在NS2下有没有图形调试环境呢?

环境:Eclipse 3.5.1 + CDT (参见前一篇安装)

1. 启动Eclipse, 建立C++ Project;

工程类型选用Makefile,编译器选择Linux C++(不太清楚它与Cross C++区别),工程路径选择ns-2.3*;

2. 编译,提示错误:G++ not found。但是我明明已经安装了build-essential。没办法,重新安装一篇,发现提示要安装g++.

$sudo apt-get install build-essential

3. 发现ns的开始运行点就是根目录下的ns_tclsh.cc文件,其中有一个main函数。

到这一步,还不能设置断点进行调试,必须先在Makefile上加入调试选项,方法:

$ ./configure --enable-debug

这一步就可以在Makefile上加入调试项-g,实际上是修改了Makefile中的CCOPT选项,在其中加入了-g -Wno-parentheses -Werror

这其中后面两项一加以后,在Eclipse里面编译时,发现会把许多以前是Warning的信息当成error。

 4. 接下来,根据如流,新一代智能工作平台 提示的方法,加入地Tcl库的跟踪调试信息,即修改tcl8.4.*/unix下的Makefile文件,将其由Optimized模式改为Debug模式,如下:

# To change the compiler switches, for example to change from optimization to
# debugging symbols, change the following line:
#CFLAGS    = $(CFLAGS_DEBUG)
#CFLAGS    = $(CFLAGS_OPTIMIZE)
#CFLAGS    = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
CFLAGS    = $(CFLAGS_OPTIMIZE) -DTCL_DBGX=$(TCL_DBGX)

换成

# To change the compiler switches, for example to change from optimization to
# debugging symbols, change the following line:
#CFLAGS    = $(CFLAGS_DEBUG)
#CFLAGS    = $(CFLAGS_OPTIMIZE)
CFLAGS    = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
#CFLAGS    = $(CFLAGS_OPTIMIZE) -DTCL_DBGX=$(TCL_DBGX)

然后在当前目录下重新编译:

make clean

make

重新编译生成libtcl8.*.a 和libtclstub.*.a 两人静态库文件,这两个文件在NS2中会被用到。注意生成的新库要copy以ns2.3*/lib目录下。

相应的,也需要把其它几个静态库的Makefile手工修改一下,并且重新编译一下,即Tcl -> TK -> Otcl -> tclcl,注意编译顺序。 

上面Tcl,Tk安装方法倒是一样,但是Otcl安装却不一样。 

首先进入Otcl目录,然后:

$make clean

然后要手工修改一下configure文件,否则在ns2.34上编译出错:

把Configure文件的6304行由

SHLIB_LD="ld -shared"

修改为

SHLIB_LD="gcc -shared"

然后再生成Makefile文件,如下:

$./configure --enable-debug

最后:

$make

感谢aoxingguy提供的资料,非常有用,非常强悍!!

后记 :实际上,我安装好的过程花了一个星期,开始一直不能象前面那位兄弟说的进行到tclAppInit函数中跟踪,而我的配置过程也没有错。最终重新下载一个新的安装版本ns2.34,并且按照install的步骤手工一步一步才弄好。其真正的原因是我的一个环境变量LD_LIBRARY_PATH设置错了,导致在Eclipse中调试时,总是提示:

Reading symbols from /home/fanzz/ns-allinone-2.34/ns-2.34/ns...done.
Stopped due to shared library event
Stopped due to shared library event

参考:

在Eclipse中调试NS2

同上

在kdevelop上调试NS2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值