在我們編寫完程式之後,往往很難一次就實現我們所要實現的功能,特別是在進行一些大的程式的編寫以及複雜的邏輯運算上,這時便需要一系列的除錯過程,觀察其執行狀態發現出現問題的地方,這裡我們主要使用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.具體規則的基本格...