那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

linux編程GDB調試功能

汽車玩家 ? 來源:Hu先生Linux后臺開發 ? 作者:Hu先生Linux后臺開發 ? 2020-05-05 23:49 ? 次閱讀

GDB是一套字符界面的程序集,可以用它在linux上調試C和C++程序,它提供了以下的功能:

1 在程序中設置斷點,當程序運行到斷點處暫停

2 顯示變量的值,可以打印或者監視某個變量,將某個變量的值顯示出來

3 單步執行

4 運行時修改變量的值

5 跟蹤路徑

6 線程切換

等等

下面以以下程序為例

linux編程GDB調試功能

linux編程GDB調試功能

當我們要使用GDB進行程序的調試時,在用GCC編譯時需要加上-g,如下:

GDB之所以能夠進行程序的調試也是在于進行編譯時的-g選項,當設置了這個選項的時候,GCC會向程序中塞入一下信息,作為GDB調試時的鋪墊

,然后GDB才能夠利用這些鋪墊和信息與程序交互。

有兩種方式可以進入GDB,一種就是直接在命令行上輸入gdb,然后再在gdb中用file命令加載要調試的程序:

linux編程GDB調試功能

另一種就是,直接在命令行上使用:gdb 程序名

linux編程GDB調試功能

這兩種方法都是要在GDB中加載已經做了鋪墊的將被調試的程序。

進行GDB并且加載了程序后,我們就可以進行一系列的調試操作了:

1 用 "set args 參數值1 參數值2...."來設置輸入參數

2用“list 開始的行號"來打印內容

linux編程GDB調試功能

list 還可以選取區間來打印代碼:

linux編程GDB調試功能

3.用 ”b 位置"設置斷點

4.用 “run 參數”來運行程序

linux編程GDB調試功能

5.用"display 變量名“來顯示變量

6.用”c"來繼續運行程序

linux編程GDB調試功能

7.用set命令來改變變量的值

8用q命令來退出GDB

linux編程GDB調試功能

9 用p命令來打印變量的值

10 設置條件斷點

11 用delete刪除斷點

linux編程GDB調試功能

12 用info break 來顯示斷點信息

linux編程GDB調試功能

13.用bt來顯示函數調用路徑

linux編程GDB調試功能

14用whatis或者ptype來顯示變量的類型

linux編程GDB調試功能

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210405
  • gdb
    gdb
    +關注

    關注

    0

    文章

    60

    瀏覽量

    13349
收藏 人收藏

    評論

    相關推薦

    嵌入式工程師都在找的【Linux內核調試技術】建議收藏!

    處理器寄存器和全局數據結構等調試信息,而無需頻繁編譯和啟動Linux內核。這使得Kprobes成為了一種高效且靈活的內核調試工具。 KGDB KGDB提供了一種使用GDB
    發表于 11-28 15:37

    Linux應用編程的基本概念

    Linux應用編程涉及到在Linux環境下開發和運行應用程序的一系列概念。以下是一些涵蓋Linux應用編程的基本概念。
    的頭像 發表于 10-24 17:19 ?292次閱讀

    PLC遠程編程調試平臺是什么

    在快速發展的工業自動化領域,可編程邏輯控制器(PLC)作為核心控制設備,其穩定運行對于生產效率和安全性至關重要。然而,隨著生產規模的不斷擴大和遠程管理的需求增加,傳統的現場編程調試模式已難以滿足高效
    的頭像 發表于 10-08 14:26 ?281次閱讀
    PLC遠程<b class='flag-5'>編程</b><b class='flag-5'>調試</b>平臺是什么

    掃描模塊的編程示例和調試策略

    電子發燒友網站提供《掃描模塊的編程示例和調試策略.pdf》資料免費下載
    發表于 09-27 09:38 ?0次下載
    掃描模塊的<b class='flag-5'>編程</b>示例和<b class='flag-5'>調試</b>策略

    ESP32-C3使用命令行GDB調試出現報錯的原因?

    (); while (1) {led_blink();vTaskDelay(1000 / portTICK_PERIOD_MS);}} 通過 idf.py 設置型號/編譯/燒錄/復位/調試 每次
    發表于 08-01 07:47

    PLC遠程編程調試和遠程上下載程序平臺有什么功能

    ,進而影響整個工廠的生產節奏,因此就需要對PLC進行合理的調試維護工作,以確保安全穩定運行。 傳統的PLC編程調試方法通常需要工程師親臨現場進行操作,這不僅耗費大量時間和人力成本,還可能因環境復雜、交通不便、工作狀態等因素導致工
    的頭像 發表于 07-22 17:24 ?241次閱讀

    RISC-V 匯編語言程序的調試

    ,通過jr t0跳入。 模擬器執行與調試 下面通過編譯為32位的代碼來看一下程序的執行過程(由于程序不需要任何操作系統的支持,會容易跑偏,所以要用遠程gdb進行單條指令執行,觀察寄存器的執行情況
    發表于 07-19 16:27

    ESP8266是否可以通過JTAG或SWD成功地使用J-Link進行編程調試

    是否有可能,如果是的話,是否有人通過JTAG或SWD成功地使用J-Link進行編程調試ESP8266? 我正在使用 Sparkfun Thing 板 (https
    發表于 07-08 08:19

    是否有可能在支持gdb的第三方集成開發環境中使用DAS配置調試

    是否有可能在支持 gdb 的第三方集成開發環境中使用 DAS 配置調試
    發表于 07-02 07:29

    PLC遠程調試模塊是什么?PLC遠程調試模塊的功能

    PLC(可編程邏輯控制器)遠程調試模塊是一種設備或軟件功能,它允許工程師或技術人員在遠離實際現場的情況下,通過網絡對PLC進行編程、監控、故障診斷和參數調整。這對于分布廣泛或難以直接接
    的頭像 發表于 05-22 14:53 ?850次閱讀
    PLC遠程<b class='flag-5'>調試</b>模塊是什么?PLC遠程<b class='flag-5'>調試</b>模塊的<b class='flag-5'>功能</b>

    使用GDB OpenOCD調試程序進行調試時,DAP \"CYW20820A1.cpu初始化失敗的原因?

    我使用 Modus 工具箱導入了一個 AUDIO WATCH 示例。 成功構建后,當我嘗試使用 GDB OpenOCD 調試程序進行調試時,得到如下錯誤信息: 所有跳線設置均為默認值。 信息:自動
    發表于 05-21 07:30

    使用VSCode調試嵌入式程序:如何切換gdb server

    上文小編給大家介紹了一下如何使用VSCode結合cortex-debug插件進行調試的方法。本篇就趁熱打鐵,進一步深入了解一下如何切換gdb server。讓我們可以不僅僅使用JLinkGDBServer進行調試
    的頭像 發表于 05-09 11:02 ?2458次閱讀
    使用VSCode<b class='flag-5'>調試</b>嵌入式程序:如何切換<b class='flag-5'>gdb</b> server

    嵌入式Linux C語言編程程序調試與宏定義

    Linux使用gcc編譯程序的時候,對于調試的語句還具有一些特殊的語法。gcc編譯的過程中,會生成一些宏,可以使用這些宏分別打印當前源文件的信息,主要內容是當前的文件、當前運行的函數和當前的程序行。
    發表于 03-01 11:41 ?1121次閱讀

    為什么VSCODE使用GDB調試不顯示寄存器?

    VSCODE使用GDB調試不顯示寄存器
    發表于 02-22 06:46

    [廣東龍芯2K1000/2K500開發板]如何利用coredump 進行調試

    如何利用coredump 進行調試 編譯時加入調試信息((PC 機上)) 編譯參數為 -g ?loongarch64-linux-gnu-gcc -g 1.c 開啟core文件 (開發板上
    發表于 02-20 13:05
    全讯网vc8888| 百家乐官网赌博大揭密| 乐透世界| 百家乐官网规律打| 六合彩下注网| 百家乐赢家球讯网| 至尊娱乐| 百家乐官网投注综合分析法| 百家乐二十一点游戏| 博客| 百家乐娱乐分析软件v| 同花顺百家乐官网的玩法技巧和规则| 最佳场百家乐官网的玩法技巧和规则| 百家乐官网| 黄金城娱乐场| 盛大69棋牌游戏| 金彩娱乐城| 真钱百家乐官网五湖四海全讯网 | 赌场百家乐玩法介绍| 线上百家乐赢钱| 百家乐法则| 网络棋牌游戏平台| 百家乐官网投注组合| 百家乐官网群11889| 沙龙百家乐官网娱乐场开户注册| 百家乐投注组合| 澳门百家乐官网单注下| 广州百家乐官网赌博机| 属鼠做生意办公桌摆貔貅好不好| 百家乐最安全打法| 百家乐作弊知识| 大发888真人真钱| 鄂托克前旗| 百家乐官网几点不用补| 基础百家乐博牌| 大发娱乐场| 百家乐官网官| 张家港百家乐赌博| 大发888注册送| 百家乐官网开户平台| 百家乐玩法说明|