1. 下載下傳 tcl-debug-2.0(http://expect.nist.gov/tcl-debug/tcl-debug.tar.gz),将下載下傳的tar包拷貝到與NS-2.34平行的目錄下,并解壓
Tar –zxvf tcl-debug.tar.gz
2. 編譯tcl-debug,并且将産生的可加載的庫檔案複制到NS-2.34的庫目錄裡面,具體步驟如下:
1) 進入到tcl-debug目錄下面
$ cd tcl-debug-2.0
2) 配置并且編譯tcl-debug
$ ./configure --prefix=/home/hanwei/ns-allinone-2.34/ns-2.34 --with-tcl=/home/hanwei/ns-allinone-2.34/tcl8.4.18/unix
$ make
3) 檢查可加載的庫檔案(*.a) 在編譯之後是否被建立。
檢視是否産生了一個"libtcldbg.a" 檔案。他是一個tcl的庫檔案。
4) 複制這個庫檔案到NS-2 庫目錄裡面,即 /home/hanwei/ns-allinone-2.34/lib下面(這點很重要哦):
$ cp libtcldbg.a /home/hanwei/ns-allinone-2.34/lib
3. 編譯NS-2
1) 進入ns-2.34目錄下面,即 /home/hanwei/ns-allinone-2.34/ns-2.34
2) 重新配置NS-2以便啟用tcl-debug.
$ ./configure --with-tcldebug=/home/hanwei/ns-allinone-2.34/tcl-debug-2.0
注意:你可以從螢幕輸出的資訊檢視到tcl-debug是否被驗證了。
如果沒有看到兩行字,需要重複以前的步驟。
checking for libtcldbg... -L/home/Maxiaolin/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-allinone-2.34/ns-2.34/tcl/ex裡面選一個腳本, 如: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.33下安裝tcl-debug-2.0”,隻是網址為:
http://blog.csdn.net/charming520/archive/2009/05/23/4211691.aspx
萬分感謝!