笔者看代码喜欢一边单步一边看,觉得这样效率高点,所以在NS2中,我们也需要找寻一种debug工具,所以接下来我们就是要配置tcl的debug工具(PS:前篇给出config过的ns2.33版本里面已经配置好了tcl-debug)
首先下载tcl-debug-2.0
tcl-debug-2.0下载地址:
具体下载目录在 /2012年资料/6月/25日/NS2使用tcl脚本debug工具tcl-debug-2.0
然后放到/ns-allinone-2.33下,这里具体放哪无所谓,config设置时候设定绝对目录就行
进入文件夹cd tcl-debug-2.0/
配置
./configure --prefix=/home/share/ns-allinone-2.33/ns-2.33 --with-tcl=/home/share/ns-allinone-2.33/tcl8.4.18/unix
PS:这里指定你的绝对路径,用pwd查看,还有注意别多加空格
config完了之后就可以编译了
首先make clean
然后重新make一次就行了
make完之后本地会产生libtcldbg.a这个文件,把这个文件放到/ns-allinone-2.33/lib下面去
然后进入ns2.33的目录
cd ns-allinone-2.33/ns-2.33/
再配置./configure --with-tcldebug=/home/share/ns-allinone-2.33/tcl-debug-2.0,同样,这个都是绝对路径,根据自己的目录定的
确定,然后出现一堆配置的命令,查看有没有以下两条,有就配置好了
checking for libtcldbg... -L/home/share/ns-allinone-2.33/tcl-debug-2.0 -ltcldbg
checking dmalloc... not requested with --with-dmalloc
如果配置好了然后重新make
先make clean
在make
make完成就搞定了,可以做个测试,随便找个tcl的例子,在第一行加入debug 1,然后运行它,出现debug就表示安装对了
tcl-debug-2.0应该还是属于GDB的一种,很多GDB的指令都是一样的
GDB基本指令
s 单步执行(进入进程)
n 单步执行(不进入进程)
c 继续
r 继续执行直到从过程中返回
u 转至上级作用域
d 转至下级作用域
w 列出调用栈
b 设置,清除或显示断点
h 帮助