一、gdb功能:
1、啟動被除錯程式;
2、讓被除錯程式在指定的位置停住;
3、當程式被停住時,可以檢查程式狀態–變數值
gcc -g test.c -o test
gdb test 啟動gdb
break main 在main函式處設定斷點
run(r) :執行程式
next(n) :單步執行程式(不進入子函式)
step(s) :單步執行程式
continue(c) :繼續執行程式
print(p)變數名 :檢視指定變數值
finish :執行程式,直到當前函式結束
watch 變數名 :對指定變數進行監控
quit(q) :退出gdb
list(l):檢視程式 list 10 //從第10行開始檢視
break(b)函式名 :在某函式入口處新增斷點
break(b) 行號 :在指定行新增斷點
break(b)行號 if 條件 例:b 5 if i=10 //當i等於10時,第5行斷點生效
info break :檢視所有設定的斷點
delete 斷點編號 :刪除斷點
二、工程管理器–make
能夠根據檔案時間戳自動發現更新過的檔案而減少編譯的工作量,同時,通過讀入makefile檔案的內容來執行大量的編譯工作。
makefile是make讀入的唯一配置檔案
makefile的編寫規則:
a、由make工具建立的目標體(target),通常是目標檔案,或可執行檔案
b、要建立的目標體所依賴的檔案
建立每個目標體時需要執行的命令(command),這一行必須以製表符開頭
表示形式: 目標體:目標檔案1 目標檔案2
gcc -o 目標體 目標檔案1 目標檔案2
目標檔案1:源程式1.c
gcc -c 源程式1.c
目標檔案2:源程式2.c
gcc -c 源程式2.c
.phony:clean //宣告偽目標
clean:
[命令]
若要新增目標檔案3
方法:使用變數
obj:目標檔案1 目標檔案2 目標檔案3
hello:$(obj)
gcc $(obj) -o hello
在makefile中,存在系統預設的自動變數
$^ :代表所有的依賴檔案
$@ :代表目標
$< :代表第乙個依賴檔案
hello : hello.c
@gcc hello.c -o hello
注:@表示取消回顯
#表示注釋內容
三、shell(命令列直譯器)——c語言編寫的程式
格式:#!/bin/sh
chmod +x filename
./filename
變數名=值 「=」兩邊不能有空格
取出變數值用 $變數名
bash中的語句結尾不加分號
列印變數的內容:
echo [內容]
echo $變數名
預設變數
$# :傳入指令碼的命令列引數個數
$* :所有命令列引數值,在各個引數值用空格隔開
$0 :命令本身
$1 :第乙個命令引數
$2 :第二個命令引數
偵錯程式gdb 工程管理器 make
格式 gcc g 檔名.c o 可執行檔案 gdb 可執行檔案 list 檢視程式 quit 退出 run 執行 break 行號 設定斷點 break 行號 if i 3 語句 info break 檢視斷點 delete 斷點編號 刪除斷點 next 單步執行 不進入子函式 step 單步執行 ...
gdb偵錯程式與make工程管理器
gdb偵錯程式 gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具,gdb主要可幫助工程師完成下面4個方面的功能 1.啟動程式,可以按照工程師自定義的要求隨心所欲的執行程式。2.讓被除錯的程式在工程師指定的斷點處停住,斷點可以是條件表示式。3.當程式被停住時,可以檢查此時程式中所發生的事...
make工程管理器及gdb偵錯程式 基本知識
make工程管理器完全根據 makefile 檔案中的編譯規則進行編譯,makefile 由以下三項基本內容組成 1 需要生成的目標檔案 target file 2 生成目標索取要的依賴檔案 dependency file 3 生成目標檔案的編譯規則命令列 command 這三項內容按以下格式進行組...