在NS2.33下安装和使用tcl-debug-2.0
来源:互联网 发布:二手房 知乎 编辑:程序博客网 时间:2024/05/23 19:38
转摘自:http://blog.csdn.net/charming520/article/details/4211691
在NS2.33下安装tcl-debug-2.0步骤:
经验证,此方法最全,并且可用于NS2.33,NS2.30,NS2.29等版本。现记录如下:
1.下载 tcl-debug-2.0;将下载的tar包拷贝到与NS-2.33平行的目录下,并解压
2. 编译tcl-debug,并且将产生的可加载的库文件复制到NS-2.33的库目录里面,具体步骤如下:
1) 进入到tcl-debug目录下面
$ cd tcl-debug-2.0
2) 配置并且编译tcl-debug
1.下载 tcl-debug-2.0;将下载的tar包拷贝到与NS-2.33平行的目录下,并解压
2. 编译tcl-debug,并且将产生的可加载的库文件复制到NS-2.33的库目录里面,具体步骤如下:
1) 进入到tcl-debug目录下面
$ cd tcl-debug-2.0
2) 配置并且编译tcl-debug
$ ./configure --prefix=/home/Maxiaolin/ns-allinone-2.33/ns-2.33 --with-tcl=/home/Maxiaolin /ns-allinone-2.33/tcl8.4.18/unix
$ make
3)检查可加载的库文件(*.a) 在编译之后是否被创建。
查看是否产生了一个"libtcldbg.a" 文件。他是一个tcl的库文件。
4) 复制这个库文件到NS-2 库目录里面,即 /home/ Maxiaolin /ns-allinone-2.33 /lib下面
3. 编译NS-2
1) 进入ns-2.33目录下面,即 /home/Maxiaolin/ns-allinone-2.33/ns-2.33
2) 重新配置NS-2以便启用tcl-debug.
$ ./configure --with-tcldebug=/home/Maxiaolin/ns-allinone-2.33/tcl-debug-2.0
注意:你可以从屏幕输出的信息查看到tcl-debug是否被验证了。
如果你没有看到以下的文字,你需要重复以前的步骤。
Checking for libtcldbg... -L/home/Maxiaolin/ns-allinone-2.33/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 //查询一个类的超类/子类
- 在NS2.33下安装和使用tcl-debug-2.0
- 在NS2.33下安装tcl-debug-2.0
- 在NS2.34下安装tcl-debug-2.0步骤和使用
- 在NS2.34下安装tcl-debug-2.0步骤
- NS2使用tcl脚本debug工具tcl-debug-2.0
- NS2:tcl-debug-2.0安装步骤
- 在NS2.34中安装tcl-debug-2.0遇到的问题
- NS2中调试工具 tcl-debug-2.0安装
- NS2调试器tcl-debug的安装
- gdb和tcl-debug调试ns2代码
- tcl-debug-2.0安装与使用
- tcl-debug-2.0安装与使用
- ubuntu12.10上针对NS2-2.35的tcl-debug-2.0的安装
- NS2安装在centOS7下,运行 ns simple.tcl 有错误
- 安装tcl-debug
- ns2在Linux9i下的安装
- NS2安装及在Eclipse下调试
- 在Fedora 11下安装NS2
- Perl中数组的delete操作
- 使用eval时的注意事项
- Android4.0.3 显示系统深入理解 .
- FindBin模块在文件嵌套时的返回值
- Perl脚本包含多个BEGIN及END块
- 在NS2.33下安装和使用tcl-debug-2.0
- Shell生成随机数
- UVA-10470- Where is the Marble?
- 如何查看Shell函数定义
- 数字与undef进行比较
- 第一篇BLOG给全新的自己
- UVA-152- Tree's a Crowd
- iOS里的MVC
- 使用libxml2库设置encoding的问题