多核多線程——使用GDB進行Debuge

我們在編寫程序,特別是大型程序的時候,如果某一個地方出現了一些小的bug,如果通過自己一行一行的排查顯然不切實際。這時候我們就得求助於強大的調試工具。調試工具有很多種,比如DDD,Eclipse以及GDB,這裏我們着重介紹下GDB的使用注意事項。

絕大部分linux系統中都應該安裝了gdb,如果沒有的話可以使用指令$sudo apt-get install gcc先安裝gcc。

假設我們要對pthread.c這個程序進行debuge,那麼我們首先需要使用gcc工具對.c文件進行比編譯,鏈接等操作生成可執行文件pthread。然後使用gdb工具對pthread進行調試。列入:

#gcc pthread.c -o pthread

#gdb pthread

(gdb)

出現(gdb)之後表示進入了調試階段,這時候你可以使用很多gdb下的專用指令,比如:run,b(break), c(continue),n(next),s(step),print,condition,clear等等指令實現對程序進行調試的過程。

注意:爲了方便直觀的使用程式圖進行調試過程,這裏我們在編譯.c文件以及使用gdb打開可執行文件的時候,需要注意加上這些指令,就可以進入到程式圖的調試界面,方便又直觀。

#gcc -g pthread.c -o pthread  (如果程序裏帶有sqrt運算以及線程操作,最後記得在-o和可執行程序之間加上-lm和-lpthread)

#gdb pthread -tui

這樣的話,就會有直觀的程式圖出現,更加方便調試過程的展開。

發佈了23 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章