linux應用程式設計 GDB除錯

2022-08-09 17:06:18 字數 1611 閱讀 9992

gdb簡介:gdb是gnu發布的一款功能強大的程式除錯工具,gdb主要完成下面三個方面功能:

一、gdb的使用操作

1.啟動被除錯程式。

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

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

gdb除錯例項:

1.在linux下編寫test.c程式:

1 #include 2

3int

main()

411 printf("

result = %d\n

",result);

12return0;

13 }

view code

2.編譯生成可執行檔案(-g 使程式具有除錯資訊):

gcc -g test.c -o test

3.啟動gdb(進入gdb模式下):

gdb test

4.在main函式處設定斷點:

break main

5.執行程式(執行到斷點處):

run6.單步執行:

next

c在linux環境下執行結果如圖:

二、gdb常用命令

1.啟動gdb

1.1.gdb name : 直接開啟名為name的除錯程式進行gdb除錯

1.2.gdb(進入gdb模式)-->file name(開啟名為name的除錯程式進行除錯)

2.list(l) : 檢視程式,可以顯示執行位置後面一段程式,可以根據**進行斷點的設定

3.break(b) name : 在name函式路口處新增斷點

4.break(b) num : 在第num行新增斷點

5.break(b) filename : num : 在filename檔案中的num行新增斷點

6.break(b) num if condition : 如果滿足條件condition,則在第num行的位置設定斷點

7.info break : 檢視程式中所有設定的斷點

8.delete num : 刪除編號為num的斷點

9.run(r) : 開始執行程式

10. next(n) : 單步執行程式(不進入子函式)

11.step(s) : 逐步執行程式(進入子函式)

12.continue(c) : 繼續執行程式,到下乙個斷點

13.print(p) variable : 檢視變數variable的值

14.finish : 執行程式,直到當前函式結束

15.watch variable : 對變數variable進行監控

16.quit(q) : 退出gdb模式

Linux串列埠應用程式設計

常見的資料通訊的基本方式可分為並行通訊與序列通訊兩種。1.並行通訊是指利用多條資料傳輸線將乙個字資料的各位元位同時傳送。它的特點是傳輸速度快,適用於傳輸距離短且傳輸速度較高的通訊。2.序列通訊是指利用一條傳輸線將資料以位元位為單位順序傳送。特點是通訊 線路簡單,利用簡單的線纜就可實現通訊,降低成本,...

Linux應用程式設計 mmap

二話不說,上來就問下那個man name mmap,munmap map or unmap files or devices into memory synopsis include void mmap void addr,size t length,int prot,int flags,int f...

IAP 應用程式設計

1 檢查是否需要對第二部分 進行更新 2 如果不需要更新則轉到4 3 執行更新操作 4 跳轉到第二部分 執行 第一部分 必須通過其它手段,如jtag或isp燒入 第二部分 可以使用第一部分 iap功能燒入,也可以和第一部分 一道燒入,以後需要程式更新是再通過第一部分iap 更新。對於stm32來說,...