1. 程式人生 > >【Linux C/C++】 第07講 gdb除錯工具詳解

【Linux C/C++】 第07講 gdb除錯工具詳解

     當你需要單步跟蹤除錯的時候,就必然會用到gdb工具,不同於VS方便的除錯方式,gdb的除錯並不是那麼的方便直觀。不要降低熱情,熟練以後你會發現Linux下的程式設計方式非常好用。

      一、簡介

         gdb是GNU釋出的一款功能強大的程式除錯工具。

         gdb主要完成下面三個方面的功能:

             1. 啟動被除錯程式

             2. 讓被除錯程式在指定位置停住

             3. 當程式被停住時,檢查程式狀態(如變數值)


      二、 gdb工具的命令使用

         1. 編譯生成可執行檔案

                gcc -g crawler.c -o bin/crawler

                根據【第03講 Makefile詳解】,可以把個命令寫到makefile裡面

         2. 啟動gdb

                gdb bin/crawler

 

         3. 設定/檢視/刪除斷點

              3.1 在函式處設定斷點

                break 函式名

                break main ->在main函式處設定一個斷點

          

              3.2 在檔案的某一行設定斷點

                break 檔名:行號

                break main.cpp:52

           

             3.3 設定斷點條件

                break 行號 if 條件

                break 25 if i = 10

         

         

             3.4 info break -> 檢視所有設定的斷點

        

             3.5 delete 斷點編號 -> 刪除斷點

           


         4. 執行程式

                run  -> 執行,並在遇到斷點時停止

 

         5. 顯示檔案的接下來的幾行

                list -> 簡寫為  l

  

         6. 檢視變數的值

                6.1 print -> 檢視指定變數值

                

                6.2 watch -> 對指定變數進行監控,當變數有變化時斷點

                 

                 

         7. 單步執行

                next -> 不進入子函式

                step -> 進入子函式

                     

         8. 繼續執行

               continue -> 繼續執行,直到遇到下一個斷點

               finish -> 繼續執行,直到當前函式結束

              

         9. 停止除錯

               quit -> 退出gdb