在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

linux編程GDB調(diào)試功能

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

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

1 在程序中設(shè)置斷點,當(dāng)程序運行到斷點處暫停

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

3 單步執(zhí)行

4 運行時修改變量的值

5 跟蹤路徑

6 線程切換

等等

下面以以下程序為例

linux編程GDB調(diào)試功能

linux編程GDB調(diào)試功能

當(dāng)我們要使用GDB進行程序的調(diào)試時,在用GCC編譯時需要加上-g,如下:

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

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

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

linux編程GDB調(diào)試功能

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

linux編程GDB調(diào)試功能

這兩種方法都是要在GDB中加載已經(jīng)做了鋪墊的將被調(diào)試的程序。

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

1 用 "set args 參數(shù)值1 參數(shù)值2...."來設(shè)置輸入?yún)?shù)

2用“l(fā)ist 開始的行號"來打印內(nèi)容

linux編程GDB調(diào)試功能

list 還可以選取區(qū)間來打印代碼:

linux編程GDB調(diào)試功能

3.用 ”b 位置"設(shè)置斷點

4.用 “run 參數(shù)”來運行程序

linux編程GDB調(diào)試功能

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

6.用”c"來繼續(xù)運行程序

linux編程GDB調(diào)試功能

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

8用q命令來退出GDB

linux編程GDB調(diào)試功能

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

10 設(shè)置條件斷點

11 用delete刪除斷點

linux編程GDB調(diào)試功能

12 用info break 來顯示斷點信息

linux編程GDB調(diào)試功能

13.用bt來顯示函數(shù)調(diào)用路徑

linux編程GDB調(diào)試功能

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

linux編程GDB調(diào)試功能

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210392
  • gdb
    gdb
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    13346
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    處理器寄存器和全局數(shù)據(jù)結(jié)構(gòu)等調(diào)試信息,而無需頻繁編譯和啟動Linux內(nèi)核。這使得Kprobes成為了一種高效且靈活的內(nèi)核調(diào)試工具。 KGDB KGDB提供了一種使用GDB
    發(fā)表于 11-28 15:37

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開發(fā)和運行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?291次閱讀

    PLC遠程編程調(diào)試平臺是什么

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

    掃描模塊的編程示例和調(diào)試策略

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

    ESP32-C3使用命令行GDB調(diào)試出現(xiàn)報錯的原因?

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

    PLC遠程編程調(diào)試和遠程上下載程序平臺有什么功能

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

    RISC-V 匯編語言程序的調(diào)試

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

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

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

    是否有可能在支持gdb的第三方集成開發(fā)環(huán)境中使用DAS配置調(diào)試

    是否有可能在支持 gdb 的第三方集成開發(fā)環(huán)境中使用 DAS 配置調(diào)試
    發(fā)表于 07-02 07:29

    PLC遠程調(diào)試模塊是什么?PLC遠程調(diào)試模塊的功能

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

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

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

    使用VSCode調(diào)試嵌入式程序:如何切換gdb server

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

    嵌入式Linux C語言編程程序調(diào)試與宏定義

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

    為什么VSCODE使用GDB調(diào)試不顯示寄存器?

    VSCODE使用GDB調(diào)試不顯示寄存器
    發(fā)表于 02-22 06:46

    [廣東龍芯2K1000/2K500開發(fā)板]如何利用coredump 進行調(diào)試

    如何利用coredump 進行調(diào)試 編譯時加入調(diào)試信息((PC 機上)) 編譯參數(shù)為 -g ?loongarch64-linux-gnu-gcc -g 1.c 開啟core文件 (開發(fā)板上
    發(fā)表于 02-20 13:05
    主站蜘蛛池模板: 国产3p在线播放 | 男人天堂久久 | 亚洲va国产日韩欧美精品色婷婷 | 久久久久国产午夜 | 在线看片福利 | 桃花色综合影院 | 四虎影院新地址 | 国产成人毛片亚洲精品不卡 | 色婷婷狠狠干 | 又粗又硬又爽又黄毛片 | 1024免费永久福利视频 | 韩国免费人成在线观看网站 | 97天天摸天天碰天天爽 | 黄 色 免费网 站 成 人 | 日本三级在线视频 | 国产精品四虎在线观看免费 | 久久久久久久久久久9精品视频 | 日本不卡视频免费 | 一级毛片日韩a欧美 | 欧美性生交xxxxx久久久 | 伊人成人在线观看 | 国产精品免费久久久免费 | 国产午夜精品视频 | 一级久久久 | 手机在线看片你懂的 | 成人一级视频 | 巨乳色最新网址 | 四虎免费影院4hu永久免费 | 欧美性色黄在线视 | 爽爽爽爽爽爽a成人免费视频 | 污夜影院 | 国产精品电影一区 | 国产香蕉视频在线观看 | 日本不卡免费新一区二区三区 | 色丁香六月 | 国产美女一级片 | 久久综合色视频 | 国产黄色精品 | 亚洲精品美女久久久 | 来吧成人综合网 | 天天干夜夜噜 |