NS2调试

简介: NS支持由Don Libes开发的OTcl调试器tcl-debug,可以在网站http://expect.nist.gov/tcl-debug上下载。 安装步骤如下: 1.

NS支持由Don Libes开发的OTcl调试器tcl-debug,可以在网站http://expect.nist.gov/tcl-debug上下载。

安装步骤如下:

1. 将下载的tar包拷贝到与NS平行的目录下,例如/home/romeo/ns2/ns-allinone-2.30/下,使用命令tar -zxvf tcl-debug.tar.gz 进行解压

2. 进入解压时创见的目录tcl-debug-2.0,运行命令

./configure --prefix=/home/romeo/ns2/ns-allinone-2.30 --with-tcl=/home/romeo/ns2/ns-allinone-2.30/tcl8.4.13/unix 其中,需要用户自己替换相应的NS和Tcl安装路径

3. 运行命令 make

4. 下面要重新编译NS,并加入相应的调试器模块,进入到ns- 2.30目录下,运行命令:

./configure --with-tcldebug=/home/romeo/ns2/ns-allinone-2.30/tcl-debug-2.0

make clean

在make前修改my-endian.h

#ifndef _ENDIAN_H_
#define _ENDIAN_H_
……

#endif

这个定义有冲突,只要将其改为

#ifndef _MY_ENDIAN_H_
#define _MY_ENDIAN_H_
#endif

再make

完成后测试

puts "test debugging"
debug 1
set a "debug continue..."
puts $a

然后用ns运行该脚本,如果显示类似于下面的文本,

test debugging

2: lappend auto_path $dbg_library dbg2.0>

就意味着已经成功安装调试器了。 可以用gdb进行调试了

目录
相关文章
|
开发工具
组件化项目使用NS_OPTIONS宏的坑
TLDR:项目中有一个SDK向外暴露了NS_OPTIONS宏,我修改了宏的值,导致出现Bug。NS_OPTIONS本质是宏,A组件使用了B组件的NS_OPTIONS,当A组件构建为二进制包时,预编译期会将NS_OPTIONS变量替换为固定的值。一旦B组件修改了NS_OPTIONS的值,A组件就会出现逻辑Bug。具体描述:事情是这样,我开发一个需求,涉及A和B两个模块,它们是独立的二进制组件。A模块
|
Swift iOS开发
Xcode10 NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END
前言 升级成 Xcode 10 之后每次 New File 看到 .h 基本都能看到 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END 成对出现在 @interface 与 @end 上下, 包裹住它, 这两对关键字并非新特性, 只是 Xcode 10 之后系统默认实现了, 应该是考虑到与 Swift 混编, 为了更好兼容其 optional 与 non-optional。
1799 0
|
数据安全/隐私保护 网络虚拟化