Linux下的常用工具 三 偵錯程式 gdb

2021-10-21 01:51:59 字數 1864 閱讀 4148

在我們編寫完程式之後,往往很難一次就實現我們所要實現的功能,特別是在進行一些大的程式的編寫以及複雜的邏輯運算上,這時便需要一系列的除錯過程,觀察其執行狀態發現出現問題的地方,這裡我們主要使用gdb除錯工具。

要點一

除錯程式之前必須保證生成的是乙個debug版本的程式,gcc預設生成的可執行檔案是release版,我們可以使用gcc -g +file±o+file.exe命令生成debug檔案。

[在linux下可執行程式分為兩大類,一是debug除錯版,不對**進行優化並且加入程式除錯資訊;二是release發布版,不包含除錯資訊,並且會對**進行優化。]

要點二

gdb常用除錯指令

流程控制

1.gdb +檔案(debug版本):除錯命令

2.run:直接執行程式,簡寫r

3.start:開始逐步除錯。

4.list: 檢視除錯行附近** 簡寫l。 【示例】:list code.c:12 檢視第十二行附近**。

5.next:下一步,逐過程除錯,遇到函式直接執行完畢,簡寫為n

6.step:下一步,逐語句除錯,遇到函式進入函式中逐語句除錯執行,簡寫s

7.until:直接執行到指定的位置。  【示例】until code.c:12 直接執行到12行。

8.continue:從當前位置繼續執行,直到執行完畢或者遇到斷點。簡寫c

9.break:對檔案指定行打斷點。簡寫b【示例1】break code.exe:6 給程式的第六行打斷點;   【示例2】break function_name 直接給函式第一行打斷點。

10.info break檢視斷點資訊,簡寫ib

11.delete刪除斷點 ,簡寫d【使用格式 】delete + 斷點id

12.watch變數監控點,當變數發生改變時停下來 【使用格式】watch+變數名稱

記憶體控制

1.print:檢視或設定變數內容,簡寫為p【使用格式】print +變數名或者print 變數名=變數值

2.backtrace:檢視函式呼叫棧,通常用來檢測程式執行時的崩潰位置。簡寫bt,此時棧頂函式的位置就是程式出錯的位置。

linux 下常用工具

vim是類似於vi的著名的功能強大的,高度可定製的的文字編輯器,在vi的基礎上改進和增加了很多特性,是乙個自由軟體,其在 補全,編譯錯誤跳轉等程式設計的功能特別豐富,在程式設計師中被廣泛應用。普通模式 完成普通的基本命令 插入模式 向檔案中插入資料 底行模式 退出 儲存編輯 vim設定 模式切換 普...

Linux下常用工具

先貼乙個鏈結,可以快速一鍵將你的vim打造成功能強大的ide 全小白操作 在linux作業系統中,我們使用yum來安裝工具,這裡我只說幾個最常用的指令 yum install package1 安裝指定的安裝包package1 yum update package1 更新指定程式包package1 ...

Linux常用工具(三)

三 make 和makefile make命令執行時,需要乙個makefile檔案,以告訴make命令需要怎麼樣的去編譯和鏈結程式。make執行時在當前目錄下尋找makefile,優先匹配 m 乙個makefile檔案包含五個方面的內容 具體規則 隱含規則 定義變數 指令 注釋 1.具體規則的基本格...