99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

汽車玩家 ? 來(lái)源:Hu先生Linux后臺(tái)開發(fā) ? 作者:Hu先生Linux后臺(tái)開發(fā) ? 2020-05-05 23:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

3 單步執(zhí)行

4 運(yùn)行時(shí)修改變量的值

5 跟蹤路徑

6 線程切換

等等

下面以以下程序?yàn)槔?/p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.用 “run 參數(shù)”來(lái)運(yùn)行程序

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

5.用"display 變量名“來(lái)顯示變量

6.用”c"來(lái)繼續(xù)運(yùn)行程序

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

7.用set命令來(lái)改變變量的值

8用q命令來(lái)退出GDB

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

9 用p命令來(lái)打印變量的值

10 設(shè)置條件斷點(diǎn)

11 用delete刪除斷點(diǎn)

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

12 用info break 來(lái)顯示斷點(diǎn)信息

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

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

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

14用whatis或者ptype來(lái)顯示變量的類型

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

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

    關(guān)注

    87

    文章

    11509

    瀏覽量

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

    關(guān)注

    0

    文章

    60

    瀏覽量

    13598
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PSoC 6 BLE PIONEER KIT燒錄Bluetooth_LE_Battery_Server的demo進(jìn)行調(diào)試時(shí),無(wú)法成功燒錄的原因?

    3334 端口監(jiān)聽 gdb 連接 信息:SWD DPIDR 0x6ba02477 信息:kitprog3:獲取設(shè)備(模式:重置)... [psoc6.cpu.cm0] 由于調(diào)試請(qǐng)求而停止,當(dāng)前模式:線程
    發(fā)表于 07-01 07:37

    遠(yuǎn)程日志errDump調(diào)試功能實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

    通過(guò)真實(shí)案例場(chǎng)景,本教程將展示如何利用遠(yuǎn)程日志errDump調(diào)試功能定位系統(tǒng)崩潰、性能瓶頸等問(wèn)題,從日志捕獲到原因分析,手把手帶您體驗(yàn)實(shí)戰(zhàn)中的調(diào)試流程。 本文特別分享errDump功能
    的頭像 發(fā)表于 06-09 16:51 ?228次閱讀
    遠(yuǎn)程日志errDump<b class='flag-5'>調(diào)試</b><b class='flag-5'>功能</b>實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

    為什么會(huì)報(bào)錯(cuò)Could not determine GDB version using command: arm-none-eabi-gdb --version?

    我已經(jīng)重啟電腦了,沒(méi)用; 重裝軟件沒(méi)有,沒(méi)有; 將ST_link_server卸載重裝也沒(méi)有; 將arm-none-eabi-gdb加入windows 11系統(tǒng)環(huán)境變量,也沒(méi)用; 將軟件的GDB
    發(fā)表于 03-12 08:08

    Microchip多功能MPLAB? PICkit? Basic調(diào)試器主要特性分析

    Microchip推出多功能MPLAB PICkitBasic調(diào)試器? ? ? ? 為使更多工程師能夠享受更強(qiáng)大的編程調(diào)試功能,Micro
    的頭像 發(fā)表于 03-10 18:42 ?830次閱讀

    RS485通信模塊的編程調(diào)試

    RS485通信模塊的編程調(diào)試是一個(gè)相對(duì)復(fù)雜但重要的過(guò)程,它涉及到硬件連接、軟件配置、通信協(xié)議等多個(gè)方面。以下是對(duì)RS485通信模塊編程調(diào)試的介紹: 一、硬件連接 接線 : 確保RS
    的頭像 發(fā)表于 11-28 15:38 ?3214次閱讀

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

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

    Linux微信4.0.0版發(fā)布,功能再升級(jí)

    近日,備受矚目的Linux微信4.0.0版本終于迎來(lái)了正式發(fā)布。此次版本更新不僅帶來(lái)了多項(xiàng)實(shí)用功能,還實(shí)現(xiàn)了與Windows、macOS公測(cè)版本的功能一致和更新同步,為用戶帶來(lái)了更加便捷
    的頭像 發(fā)表于 11-06 10:59 ?769次閱讀

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

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

    PLC遠(yuǎn)程編程調(diào)試平臺(tái)是什么

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

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

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

    Linux 驅(qū)動(dòng)開發(fā)與應(yīng)用開發(fā),你知道多少?

    一、Linux驅(qū)動(dòng)開發(fā)與應(yīng)用開發(fā)的區(qū)別開發(fā)層次不同:Linux驅(qū)動(dòng)開發(fā)主要是針對(duì)硬件設(shè)備進(jìn)行編程,處于操作系統(tǒng)內(nèi)核層,直接與硬件交互,為上層應(yīng)用提供設(shè)備訪問(wèn)的接口。Linux應(yīng)用開發(fā)則
    的頭像 發(fā)表于 08-30 12:16 ?1587次閱讀
    <b class='flag-5'>Linux</b> 驅(qū)動(dòng)開發(fā)與應(yīng)用開發(fā),你知道多少?

    新思科技Verdi調(diào)試平臺(tái)的功能

    ,以及確保不同功能場(chǎng)景和測(cè)試模式的正確性等。每個(gè)階段都可能耗費(fèi)大量時(shí)間,有時(shí)需要多次迭代,導(dǎo)致整個(gè)調(diào)試過(guò)程不斷延長(zhǎng)。
    的頭像 發(fā)表于 08-12 10:03 ?759次閱讀
    新思科技Verdi<b class='flag-5'>調(diào)試</b>平臺(tái)的<b class='flag-5'>功能</b>

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

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

    PLC遠(yuǎn)程編程調(diào)試和遠(yuǎn)程上下載程序平臺(tái)有什么功能

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

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

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