分享

GDB在NS2(cygwin)下的安装调试方法

 幸福的乐土 2013-02-01

1、安装准备

    cygwin下面安装(注意我测试的gdb-20020411-1和gdb-20010428-3都是图形界面,而版本gdb-20041228-3我发现是命令行的,所以推荐前两个版本,毕竟图形界面方便很多)。下面以ns-allinone-2.29为例说明

    将gdb-20010428-3.tar.bz2,gdb-20010428-3-src.tar.bz2或gdb-20020411-1.tar.bz2,gdb-20020411-1-src.tar.bz2下载下来后放在cygwin的安装文件的目录下(\...\CD\ftp%3a%2f%2fftp.nctu.edu.tw%2fWindows%2fcygwin\release\gdb,在release中新建的一个gdb文件夹,为了稳妥,我将四个文件全拷进去了。。),同时修改setup.ini 文件才能使setup.exe文件包括置换的gdb,把1776行(各个版本的cygwin不一样)开始的gdb说明注释悼,把下面的gdb说明copy进去。
gdb说明如下:

@ gdb
sdesc: "The GNU Debugger"
category: Devel
requires: cygwin termcap
version: 20010428-3
install: release/gdb/gdb-20010428-3.tar.bz2 3137406 e5a88228537c46b1330571eef1af1b1d
source: release/gdb/gdb-20010428-3-src.tar.bz2 13445406 dcf71c3c99ff5b7ead7b5cb2c4fb8858

[test]
version: 20020411-1
install: release/gdb/gdb-20020411-1.tar.bz2 4251881 4f5d584bc76f4ad3bbc3270ccc5bc6fc
source: release/gdb/gdb-20020411-1-src.tar.bz2 15680236 9eb6019f0ec424c9a332b5c78e8234ea

后面install的“3137406”表示字节数,“e5a88228537c46b1330571eef1af1b1d”表示MD5码;source的“gdb-20010428-3-src.tar.bz2 ”不知道是指什么。

2、安装
    启动cygwin的安装程序,利用它安装gdb,注意你只需要安装gdb这一个就行了,其他的所有都选择为keep(已经安装的)或者skip(未安装的),否则会出现问题的,一定要切记这点儿。
3、在代码里面添加调试信息:修改Makefile(没有任何后缀的)将里面

方法一:
CCOPT  -Wall

STATIC =
LDFLAGS = $(STATIC)
LDOUT = -o $(BLANK)
改变为:
CCOPT = -Wall  -g  
STATIC =
LDFLAGS = $(STATIC)
LDOUT = -o $(BLANK)
修改的东西是粉红色字体所示

方法二:

或者做如下修改:

需要修改makefile.in:加上-g3选项
.cc.o:
     @rm -f $@
       $(CPP) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc

.c.o:
       @rm -f $@
       $(CC) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.c

4、然后重新编译

可以先执行:./configure
Make clean
Make depend
Make
5、进入工作目录:cd ns-allinone-2.29/ns-2.29,   输入gdb ns能进入gdb工作界面则安装成功。

调试方法如下:

在左上方的框框里输入要调试的源文件名字,设置好断点,然后按ctrl+n进入控制台,cd到tcl所在目录,输入r XXX.tcl,运行脚本,即会在断点处停下来 s是step,进入过程,进入函数,n是next,执行下一句,c是continue,执行到下一个断点。注意跟踪时左上方显示的文件名以及函数名以记录跟踪轨迹。还可以查看内存、堆栈、寄存器等。另外控制台里面也会在哪个函数进入了断点,断点执行到了哪个文件的哪一行~就是信息不能复制下来,只能截屏~ 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多