ns手册上讲得比较细,如果需要的话,要仔细看看,我下面就介绍一下安装和简单的用法
安装tcldebug
首先是安装,tcl-debug.将tcl-debug解压,放在与ns平行的目录下,一般是放在ns-allinone-2.27/下,然后,到tcl-debug-2.0下编译tcldebug.最后到ns-2.27 目录下修改makefile文件: 1.将DEFINE 一行的最后加上-DHAVE_LIBTCLDBG
2.将变量INCLUDES = \的最后添加一行-I../tcl-debug-2.0(注意原来的最后一行,现在的倒数第二行的最后应该加上空格和\,就象前面一样)
3.将变量LIB = \的最后一行添加 -L../tcl-debug-2.0,倒数第二行处理与上面相同,注意最后一行是-lm ,不是# -L${exec_prefix}/lib \
这样,再编译一下ns就安装tcldebug成功了
tcl脚本的简单调试
设置断点,直接在tcl脚本里面加入debug 1(一个数字就可以了),运行的时候就会停在此处
运行至下个断点: c
单步调试: s(单步进入函数调试),n(单步,不进入函数调试)
其他,自己查资料吧,呵呵
c++代码调试的准备
对ns下的makefile文件进行修改,将CCOPT = -O2改为CCOPT = -O2 -g,然后重新编译就行了
c++代码的调试用gdb工具
首先,敲入gdb ns(进入调试),此时显示的应该是(gdb)
运行tcl脚本: r 文件名(xxx.tcl)
设置断点: b 文件名(xxxx.cc或者xxx.h):行数
调试:c,n,s与tcl的调试功能是一样的
显示变量: p 变量名
删除断点 d 断点编号
查看断点信息: i b
其他,可以查询关于gdb的使用工具说明,还是很复杂的,呵呵
注意:以上凡是涉及到文件名的地方一定要注意路径,而且是相对于当前gdb工作目录的相对路径.
希望对你们有点用
Tcl的调试也可以按照书上(184页)讲的 $ ./configure -with-tcldebug $ make clean $ make |