您的位置:首页 > 其它

tcl-debug-2.0安装与使用

2010-10-21 14:53 239 查看
1.下载 tcl-debug-2.0;将下载的tar包拷贝到与NS-2.34平行的目录下,并解压

2. 编译tcl-debug,并且将产生的可加载的库文件复制到NS-2.34的库目录里面,具体步骤如下:

1) 进入到tcl-debug目录下面

$ cd tcl-debug-2.0

2) 配置并且编译tcl-debug

$ ./configure --prefix =/home/pengyu/ns-allinone-2.34/ns-2.34/ --with-tcl=/home/pengyu/ns-allinone-2.34/tcl8.4.18/unix/

$ make

3)检查可加载的库文件(*.a) 在编译之后是否被创建。

查看是否产生了一个"libtcldbg.a" 文件。他是一个tcl的库文件。

4) 复制这个库文件到NS-2 库目录里面,即 /home/pengyu/ns-allinone-2.34/ns-2.34/lib下面

3. 编译NS-2

1) 进入ns-2.34目录下面,即 /home/pengyu/ns-allinone-2.34/ns-2.34

2) 重新配置NS-2以便启用tcl-debug.

$ ./configure --with-tcldebug=/home/pengyu/ns-allinone-2.34/tcl-debug-2.0

注意:你可以从屏幕输出的信息查看到tcl-debug是否被验证了。

如果你没有看到以下的文字,你需要重复以前的步骤。

Checking for libtcldbg... -L/home/pengyu/ns-allinone-2.34/tcl-debug-2.0 -ltcldbg

上面的文字在下面这句话之后出现

checking dmallc... not requested with --with-dmalloc

3)删除以前的编译纪录

$ make clean

注:这一步骤非常重要!

4)重新编译NS-2

$ make

现在tcl-debug已经嵌入到NS-2的可执行文件"ns.exe"中去了

5)检查NS-2是否能够正常运行。随便选择一个脚本测试一下就可以了

$ ns example.tcl

4. 检查tcl-debug是否能够正常工作。

你可以通过添加debug 1在你的脚本中设置断点。示例如下:

1)从目录~ns/tcl/ex directory 里面选择一个脚本, 如:wireless-test.tcl,

利用文本编辑器编辑该脚本:

set ns_ [new Simulator]

debug 1; # 在这个位置添加这么一行代码

set chan [new $opt(chan)]

2) 运行 wireless-test.tcl

$ ns wireless-test.tcl

运行脚本之后,如果你成功安装,将会出现以下信息提示:

2: lappend auto_path $dbg_library

dbg2.0>

使用:

在NS2中调试TCL/OTCL脚本了。设断点的方法是,直接在脚本文件中相应的位置加上debug 1。一些基本的命令如下:

s 单步执行(进入进程)

n 单步执行(不进入进程)

c 继续

r 继续执行直到从过程中返回

u 转至上级作用域

d 转至下级作用域

w 列出调用栈

b 设置,清除或显示断点

h 帮助

运行脚本,就会在相应的断点位置停下来,可以使用puts命令来打印输出各种变量的值。info也是一个我常用的命令。

info exists <variable>

<variable> info class //查询一个对象的类名

<variable> info instances //查询一个类的所有实例

<variable> info instprocs //查询一个类的所有实例过程

<variable> info vars

<variable> info superclass/subclass //查询一个类的超类/子类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: