日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中使用GDB调试NS2

發布時間:2023/12/20 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中使用GDB调试NS2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用ns2過程中,避免不了要修改或者添加一些模塊,對C++代碼進行改動。編寫好自己的功能模塊以后,進行編譯執行。但通常不會這么容易通過,經常會出現編譯可以通過,但執行是會出錯。比較常見的是“段錯誤”,因指針內容為空。這個時候,需要用調試器對源代碼進行調試,來精確定位錯誤發生在哪里。下面記錄一些我比較常用的調試功能,GDB在linux中常用的調試器,功能比較全,我用到的也不多。以后會繼續更新。


首先要讓我們的ns2支持gdb的調試,需要對makefile進行修改。(以ns2.29為例)加上-g3選項。

.cc.o:@rm -f $@$(CPP) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc .c.o:@rm -f $@$(CC) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.c

修改完上面的內容后,重新編譯。然后可以在任意目錄下執行:gdb ns。此時就可以進行調試了,介紹幾個我常用的命令。

(gdb) r test.tcl? //執行指定的test.tcl文件

(gdb) b udp.cc:55? //在udp.cc文件的第55行打斷點

(gdb) c //執行到斷點處,繼續往下執行

(gdb) bt //查看調用棧。覺得這個挺有用,可以查看整個仿真過程的調用過程,對理解仿真步驟和執行過程很有幫助

(gdb) p node //查看變量node的值,當執行到斷點時,可以查看變量的值是否是自己需要的值

我在使用過程中,這幾個命令結合著使用就基本能定位自己的代碼哪里有問題了。但這并沒有結束,因為偶爾會出現一些錯誤,提示會告訴你跟系統中的某些頭文件有關,這個時候就比較困難了。暫時這些問題只能解決到此,相信隨著學習的進一步深入,能解決的問題也會越來越多。關于gdb的調試,也會繼續更新。(雖然博客更新的頻率比較低)

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

轉載于:https://www.cnblogs.com/gxwang/archive/2013/06/01/4940873.html

總結

以上是生活随笔為你收集整理的Linux中使用GDB调试NS2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。