偵錯程式:gdb
三大特點:
⦁ 啟動被除錯的程式
⦁ 設定斷點、單步執行
⦁ 檢視變數的值
除錯步驟
gcc -g sum.c -o sum
gdb sum
操作:quit退出gdb
list顯示**
檢視源**:
gdb+可執行檔案±-tui
layout split(c語言和組合語言同時看,每行**對應彙編)
layout asm(顯示彙編)
layout src(顯示原始碼)
斷點:break+行號(打斷點,再輸入run執行到斷點行)
break+行號+條件
break+函式名
info break(檢視斷點資訊)
delete+斷點編號(刪除斷點)
disable+斷點編號(讓斷點關閉)
enable+斷點編號(讓斷點開啟)
clear+行號(清除這行的斷點)
執行命令:
run:執行程式
next,step:單步執行(next不會進入子函式,step進入子函式)
continue:繼續執行直到程式結束(再次遇到新的斷點還會停止)
練習:finish
執行完當前的函式。
until
這個用於執行完迴圈。在執行完迴圈體內的最後一條語句之後執行 until, 就會執行完迴圈體到後面的乙個語句停下。
如何呼叫函式
watch
可設定觀察點(watchpoint)。使用觀察點可以使得當某表示式的值發生變化時,程式暫停執行。
執行該命令前,必須保證程式已經執行
display
display命令檢視引數的值,可以使用disable,enable,delete,info命令修改及檢視其狀態,用法與對斷點的一樣。
作業如何使用dgb除錯段錯誤
gdb段錯誤除錯
所謂段錯誤就是對記憶體的非法訪問
採用gdb除錯段錯誤有2種方法
1.在gdb中執行目標程式,當發生段錯誤時,gdb中執行的程式會自動停下來
2.直接執行目標程式,使其在發生段錯誤時產生記憶體轉儲(core dump)檔案,gdb對該檔案進行除錯
嵌入式課程拓展 第四周
1.makefile gnu make的工作分為兩個階段。在第一階段,make讀取makefile檔案 內建變數及其值 隱含規則和具體規則 構造所有目標的依賴關係以及所有目標各自的依賴等。在第二階段,make決定需要重新構造的目標並使用必要的規則進行工作。make工作第一階段發生的擴充套件是立即擴充...
嵌入式第四周課堂總結
偵錯程式 gdb 1.gnu計畫的工具 核心除錯kgdb 2.程式的錯誤分類 編譯時錯誤 語法錯誤 執行時錯誤 記憶體錯誤,邏輯錯誤 3.gdb的功能 1執行程式 2設定斷點 3檢視變數值 4.hello.c gcc g hello.c o hello gcc gdb 5.使用 tui layout...
第四周 利用嵌入式彙編呼叫系統呼叫
1.核心態和使用者態 對於一台計算機來說,有些硬體的控制直接影響到計算機是否可以穩定的執行。作業系統為了維持計算機的可持續的工作,要對這些可能影響到系統穩定的因素進行嚴格控制,不能讓使用者隨意進行操作。這就是作業系統區分核心態和使用者態的思想。對於一些可能影響系統穩定的函式,作業系統將它們放到核心態...