国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile)

這篇具有很好參考價(jià)值的文章主要介紹了【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile),Linux,linux,運(yùn)維

前言

前面我們講了C語言的基礎(chǔ)知識,也了解了一些數(shù)據(jù)結(jié)構(gòu),并且講了有關(guān)C++的一些知識,也學(xué)習(xí)了一些Linux的基本操作,也了解并學(xué)習(xí)了有關(guān)Linux開發(fā)工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代碼也相信大家都掌握的不錯(cuò),今天博主帶大家了解一下 —— Linux系統(tǒng)下的調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile, 下面話不多說坐穩(wěn)扶好咱們要開車了?。?!??

一、什么是調(diào)試器

調(diào)試器是一種工具,用于幫助開發(fā)人員診斷和修復(fù)程序中的錯(cuò)誤。它可以讓你逐行執(zhí)行代碼,觀察變量的值,并提供有關(guān)程序執(zhí)行流程的詳細(xì)信息。

?一些常見的調(diào)試器包括:

  1. GDB(GNU調(diào)試器):適用于C和C++等編程語言,可在命令行界面下使用。
  2. LLDB(LLVM調(diào)試器):一款用于C、C++、Objective-C 和 Swift 的開源調(diào)試器,兼容多種平臺(tái)。
  3. Visual Studio Debugger:適用于Windows平臺(tái)的調(diào)試器,可與Microsoft Visual Studio集成使用。
  4. PyCharm Debugger:專為Python開發(fā)的調(diào)試器,可在PyCharm集成開發(fā)環(huán)境中使用。
  5. Xcode Debugger:適用于蘋果開發(fā)者的調(diào)試器,可在Mac和iOS設(shè)備上調(diào)試應(yīng)用程序。

?VS下的調(diào)試環(huán)境
【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile),Linux,linux,運(yùn)維
?GDB命令行模式的調(diào)試
【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile),Linux,linux,運(yùn)維

?調(diào)試器的一般使用步驟如下:

  1. 啟動(dòng)調(diào)試器,并將程序加載到調(diào)試器中。
  2. 設(shè)置斷點(diǎn),這樣程序會(huì)在斷點(diǎn)處暫停執(zhí)行。
  3. 逐行執(zhí)行代碼,觀察變量的值和程序的行為。
  4. 使用調(diào)試器提供的命令和功能來檢查程序狀態(tài)、查找錯(cuò)誤并進(jìn)行修復(fù)。
  5. 在逐步執(zhí)行代碼時(shí),可以觀察程序的執(zhí)行流程和控制流的變化。
  6. 跟蹤程序執(zhí)行流程,查找潛在的邏輯錯(cuò)誤和異常。

二、詳解 GDB - 調(diào)試器

1.使用前提

在使用GDB調(diào)試器之前,你需要滿足以下前提條件:

  1. 安裝GDB:首先,你需要在你的計(jì)算機(jī)上安裝GDB調(diào)試器。GDB是一個(gè)開源工具,可以從GNU項(xiàng)目的官方網(wǎng)站上下載并安裝,也可以運(yùn)行以下命令來安裝GDB調(diào)試器:

    sudo apt install gdb
    

    這將下載并安裝GDB及其相關(guān)的依賴項(xiàng)。

  2. 編譯可執(zhí)行文件:GDB是用于調(diào)試可執(zhí)行文件的工具,因此你需要先編譯你的程序,并生成可執(zhí)行文件。你可以使用適合你的編程語言的編譯器來完成這個(gè)步驟。

  3. 了解編譯選項(xiàng):為了能夠在GDB中正確地調(diào)試你的程序,你需要使用適當(dāng)?shù)木幾g選項(xiàng)來生成可調(diào)試的可執(zhí)行文件。對于大多數(shù)編譯器,你可以使用-g選項(xiàng)來生成調(diào)試信息。例如,對于GCC編譯器,你可以使用以下命令來編譯帶有調(diào)試信息的可執(zhí)行文件:

    $ gcc -g your_program.c -o your_program
    

    這將生成一個(gè)名為your_program的可執(zhí)行文件,其中包含調(diào)試信息,可以在GDB中使用。

2.經(jīng)常使用的命令

  1. run:運(yùn)行程序。

  2. break:設(shè)置斷點(diǎn)。例如,break main在程序的main函數(shù)處設(shè)置斷點(diǎn)。

  3. next:執(zhí)行下一行代碼。

  4. step:進(jìn)入函數(shù)調(diào)用并逐行執(zhí)行函數(shù)內(nèi)部的代碼。

  5. continue:繼續(xù)執(zhí)行程序,直到下一個(gè)斷點(diǎn)或程序結(jié)束。

  6. print:打印變量的值。例如,print x將打印變量x的值。

  7. backtrace:查看調(diào)用棧,即程序執(zhí)行到當(dāng)前位置的函數(shù)調(diào)用序列。

  8. set:修改變量的值。例如,set x = 10將把變量x的值設(shè)置為10。

  9. watch:監(jiān)視表達(dá)式的值。當(dāng)表達(dá)式的值發(fā)生變化時(shí),程序會(huì)暫停執(zhí)行并顯示相關(guān)信息。

  10. info breakpoints:查看當(dāng)前設(shè)置的斷點(diǎn)信息。

  11. delete:刪除斷點(diǎn)。例如,delete 1將刪除編號為1的斷點(diǎn)。

  12. quit:退出GDB調(diào)試器。

  13. info locals:查看當(dāng)前函數(shù)的局部變量。

  14. info registers:查看CPU寄存器的值。

  15. display:設(shè)置自動(dòng)顯示變量的值。例如,display x將在每次程序暫停時(shí)顯示變量x的值。

  16. finish:執(zhí)行當(dāng)前函數(shù)的剩余部分,并返回到調(diào)用該函數(shù)的地方。

  17. up:在調(diào)用棧中向上移動(dòng)一幀,查看調(diào)用當(dāng)前函數(shù)的上一層函數(shù)。

  18. down:在調(diào)用棧中向下移動(dòng)一幀,返回到當(dāng)前函數(shù)調(diào)用的函數(shù)。

  19. info threads:查看程序中的線程信息。

  20. thread <thread-id>:切換到指定的線程。

  21. set pagination off:關(guān)閉分頁功能,以便在顯示大量輸出時(shí)不會(huì)暫停。

  22. record:啟用記錄功能,可以回放程序的執(zhí)行過程。

  23. info functions:列出程序中定義的所有函數(shù)。

  24. info sources:顯示當(dāng)前已加載的源文件列表。

  25. run <arguments>:運(yùn)行程序并傳遞命令行參數(shù)。

  26. set args <arguments>:設(shè)置程序運(yùn)行時(shí)的命令行參數(shù)。

  27. set environment <variable=value>:設(shè)置程序運(yùn)行時(shí)的環(huán)境變量。

  28. display /f <format> <expression>:以指定的格式顯示表達(dá)式的值。例如,display /x $eax以十六進(jìn)制格式顯示$eax寄存器的值。

  29. info break:顯示所有斷點(diǎn)的信息,包括編號、位置和條件。

  30. disable <breakpoint-number>:禁用指定編號的斷點(diǎn)。

  31. enable <breakpoint-number>:啟用指定編號的斷點(diǎn)。

  32. catch <exception>:捕捉指定的異常,當(dāng)發(fā)生該異常時(shí)程序會(huì)暫停。

  33. watch <expression>:在表達(dá)式的值發(fā)生變化時(shí)暫停程序。

  34. set logging on:打開日志記錄功能,將GDB會(huì)話輸出保存到日志文件中。

3.使用小技巧

?你可以只輸入命令的首字母來執(zhí)行GDB調(diào)試器命令。GDB支持命令的縮寫,只要輸入命令的唯一識別首字母即可。例如,你可以輸入b代替breakn代替next,s代替step等。這樣可以更快地輸入命令并提高你的工作效率。然而,如果有多個(gè)命令以相同的首字母開頭,GDB可能無法確定你要執(zhí)行的是哪個(gè)命令,此時(shí)你需要輸入更多的字符以區(qū)分命令。

?當(dāng)你在GDB調(diào)試器中按下回車鍵時(shí),它會(huì)執(zhí)行上一條命令。這對于重復(fù)執(zhí)行相同的命令非常方便,特別是當(dāng)你需要多次執(zhí)行相同的調(diào)試操作時(shí)。只需按下回車鍵即可重復(fù)執(zhí)行上一條命令,無需重新輸入。這可以提高你的工作效率并簡化調(diào)試過程

三、項(xiàng)目自動(dòng)化構(gòu)建工具 - make/Makefile

1. make命令

make是一個(gè)常用的構(gòu)建工具,它在Linux系統(tǒng)中廣泛使用。它的主要功能是根據(jù)指定的規(guī)則和依賴關(guān)系自動(dòng)化構(gòu)建和編譯工程項(xiàng)目。

?語法

make命令的基本語法:

make [選項(xiàng)] [目標(biāo)]

?常用選項(xiàng)

  • -f <文件>--file=<文件>:指定使用的makefile文件,默認(rèn)為Makefile
  • -C <目錄>--directory=<目錄>:切換到指定的目錄后執(zhí)行make命令。
  • -n--just-print:僅打印出要執(zhí)行的命令而不實(shí)際執(zhí)行。
  • -B--always-make:無條件重新構(gòu)建所有目標(biāo)。
  • -j <并行數(shù)>--jobs=<并行數(shù)>:指定并行執(zhí)行的任務(wù)數(shù)。

?常用操作

  • make:使用默認(rèn)的makefile文件執(zhí)行構(gòu)建,默認(rèn)構(gòu)建第一個(gè)目標(biāo)。
  • make <目標(biāo)>:指定構(gòu)建的目標(biāo)。
  • make clean:清理構(gòu)建產(chǎn)生的中間文件和目標(biāo)文件。
  • make install:安裝構(gòu)建生成的文件到系統(tǒng)目錄。
  • make distclean:執(zhí)行完全清理,將構(gòu)建的文件和中間文件都刪除。

?make命令的工作原理

  1. make命令會(huì)檢查makefile文件,找到要構(gòu)建的目標(biāo)及其依賴關(guān)系。
  2. 如果目標(biāo)不存在或比其依賴項(xiàng)的修改時(shí)間要舊,則需要重新構(gòu)建該目標(biāo)。
  3. 根據(jù)makefile文件中定義的規(guī)則和命令,執(zhí)行構(gòu)建操作。

?make命令的優(yōu)勢:

  • 自動(dòng)化構(gòu)建:根據(jù)規(guī)則和依賴關(guān)系,只編譯需要更新的文件,提高構(gòu)建效率。
  • 并行構(gòu)建:使用-j選項(xiàng)可以指定并行執(zhí)行的任務(wù)數(shù),加快構(gòu)建速度。
  • 依賴關(guān)系管理:通過定義依賴關(guān)系,確保被修改的文件及其相關(guān)文件被正確地重新構(gòu)建。

2.Makefile文件

Makefile是一種用于構(gòu)建和管理項(xiàng)目的配置文件,在Linux系統(tǒng)中廣泛使用。它定義了項(xiàng)目中的目標(biāo)、依賴關(guān)系以及構(gòu)建命令等信息。

?Makefile的基本結(jié)構(gòu)

一個(gè)典型的Makefile文件包含了一系列規(guī)則和命令,每個(gè)規(guī)則由以下幾個(gè)部分組成:

<目標(biāo)>: <依賴關(guān)系>
    <命令1>
    <命令2>
    ...
  • <目標(biāo)>:表示需要構(gòu)建的文件或目標(biāo)。它可以是一個(gè)可執(zhí)行文件、庫文件、中間文件等。Makefile中可以定義多個(gè)目標(biāo),每個(gè)目標(biāo)對應(yīng)一個(gè)規(guī)則。
  • <依賴關(guān)系>:表示目標(biāo)所依賴的文件或其他目標(biāo)。當(dāng)依賴關(guān)系中的文件被修改時(shí),相關(guān)的目標(biāo)需要被重新構(gòu)建。
  • <命令>:構(gòu)建目標(biāo)所執(zhí)行的命令??梢允蔷幾g源代碼、鏈接、復(fù)制文件等操作。

?Makefile文件中常用的指令和語法

  • $(變量名):使用變量??梢远x和使用變量來簡化Makefile中的重復(fù)代碼。
  • =或:=:變量賦值。使用=表示簡單賦值,使用:=表示延遲賦值(變量的值在首次使用時(shí)確定,之后不再改變)。
  • #:注釋符號,用于注釋說明。
  • @:靜默模式。在命令前添加@符號,表示執(zhí)行命令時(shí)不打印命令本身。
  • if...endif:條件判斷語句。根據(jù)條件判斷是否執(zhí)行命令。
  • for...endfor:循環(huán)語句??梢员闅v列表中的元素執(zhí)行命令。

Makefile文件中常用的內(nèi)置變量:

  • CC:C 編譯器的名稱。默認(rèn)為 cc。
  • CFLAGS:C 編譯器的選項(xiàng)。如 -Wall 表示打開所有警告。
  • LDFLAGS:鏈接器的選項(xiàng)。如 -lm 表示鏈接數(shù)學(xué)庫。
  • CPPFLAGS:預(yù)處理器的選項(xiàng)。如 -I 添加頭文件搜索路徑。

?Makefile的約定和慣例

  • clean:一般會(huì)定義一個(gè)clean目標(biāo),用于清理生成的目標(biāo)文件和中間文件。
  • all:一般會(huì)定義一個(gè)all目標(biāo),用于構(gòu)建項(xiàng)目的所有目標(biāo)。
  • .PHONY:聲明一些偽目標(biāo),表示目標(biāo)不對應(yīng)任何實(shí)際的文件。常用于定義用于執(zhí)行命令而非產(chǎn)生具體文件的目標(biāo)。

?Makefile的工作原理

  • 當(dāng)執(zhí)行make命令時(shí),它會(huì)讀取當(dāng)前目錄下的Makefile文件。
  • Makefile文件中定義的依賴關(guān)系和構(gòu)建規(guī)則會(huì)被解析,并根據(jù)修改時(shí)間和依賴關(guān)系確定需要重新構(gòu)建的目標(biāo)。
  • 根據(jù)規(guī)則執(zhí)行構(gòu)建命令,生成目標(biāo)文件。

?這里給出一個(gè)簡單的例子來說明Makefile的使用。假設(shè)我們有一個(gè) C 語言項(xiàng)目,包含兩個(gè)源文件:main.chelper.c,它們需要分別編譯成目標(biāo)文件,并鏈接為可執(zhí)行文件。

【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile),Linux,linux,運(yùn)維
在這個(gè)例子中,我們首先定義了變量 CCCFLAGS,分別表示使用的 C 編譯器和編譯器選項(xiàng)。

然后,我們定義了默認(rèn)的構(gòu)建目標(biāo) all,它依賴于目標(biāo)文件 myapp

myapp 目標(biāo)表示生成可執(zhí)行文件myapp,它依賴于對象文件 main.ohelper.o。該規(guī)則包含了鏈接命令,將這兩個(gè)目標(biāo)文件鏈接為可執(zhí)行文件。

main.ohelper.o 目標(biāo)分別表示編譯 main.chelper.c,它們都依賴于對應(yīng)的源文件。這些規(guī)則包含了編譯命令,將源文件編譯為目標(biāo)文件。

最后,我們定義了一個(gè) clean 目標(biāo),用于清理生成的可執(zhí)行文件和目標(biāo)文件。

使用 make 命令執(zhí)行這個(gè) Makefile 文件時(shí),它會(huì)自動(dòng)根據(jù)依賴關(guān)系進(jìn)行構(gòu)建。例如,如果修改了 main.c,那么只會(huì)重新編譯 main.omyapp,而不需要重新編譯 helper.o。

通過這樣的 Makefile 文件,我們可以方便地構(gòu)建和管理項(xiàng)目,簡化了編譯和鏈接操作。

總結(jié)

本文介紹了調(diào)試器和自動(dòng)化構(gòu)建工具的基本概念和使用方法。調(diào)試器是一種幫助程序員診斷和修復(fù)程序錯(cuò)誤的工具,常用的調(diào)試器是GDB,它提供了設(shè)置斷點(diǎn)、單步執(zhí)行、查看變量值等功能。自動(dòng)化構(gòu)建工具是一種用于管理項(xiàng)目構(gòu)建的工具,常用的工具是make,它通過makefile文件定義構(gòu)建規(guī)則和依賴關(guān)系,可以自動(dòng)化執(zhí)行編譯、鏈接等操作。通過使用調(diào)試器和自動(dòng)化構(gòu)建工具,程序員可以更高效地調(diào)試和構(gòu)建項(xiàng)目,提高開發(fā)效率和代碼質(zhì)量。

溫馨提示

感謝您對博主文章的關(guān)注與支持!在閱讀本篇文章的同時(shí),我們想提醒您留下您寶貴的意見和反饋。如果您喜歡這篇文章,可以點(diǎn)贊、評論和分享給您的同學(xué),這將對我提供巨大的鼓勵(lì)和支持。另外,我計(jì)劃在未來的更新中持續(xù)探討與本文相關(guān)的內(nèi)容。我會(huì)為您帶來更多關(guān)于Linux以及C++編程技術(shù)問題的深入解析、應(yīng)用案例和趣味玩法等。請繼續(xù)關(guān)注博主的更新,不要錯(cuò)過任何精彩內(nèi)容!

再次感謝您的支持和關(guān)注。我們期待與您建立更緊密的互動(dòng),共同探索Linux、C++、算法和編程的奧秘。祝您生活愉快,排便順暢!
【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile),Linux,linux,運(yùn)維文章來源地址http://www.zghlxwxcb.cn/news/detail-661356.html

到了這里,關(guān)于【探索Linux】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux工具【2】(調(diào)試器gdb、項(xiàng)目自動(dòng)化構(gòu)建工具make/Makefile)

    Linux工具【2】(調(diào)試器gdb、項(xiàng)目自動(dòng)化構(gòu)建工具make/Makefile)

    在上一篇文章中介紹了Linux中的編輯器vim與編譯器gcc與g++: 戳我看vim與gcc詳解哦 在本篇文章中將繼續(xù)來介紹Linux中的工具: 調(diào)試器gdb與項(xiàng)目自動(dòng)化構(gòu)建工具make/Makefile 在Windows環(huán)境中,我們使用vs時(shí),常常會(huì)逐過程與逐語句地調(diào)試代碼以更高效地尋找到錯(cuò)誤的位置。在Linux中也

    2024年02月12日
    瀏覽(24)
  • 【Linux】自動(dòng)化構(gòu)建工具--make/Makefile&&調(diào)試器--gdb的使用

    【Linux】自動(dòng)化構(gòu)建工具--make/Makefile&&調(diào)試器--gdb的使用

    一個(gè)工程的源文件不計(jì)其數(shù),其按類型、功能、模塊分別放在若干個(gè)目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作。 makefile帶來的好處就是– “自動(dòng)化編譯” ,一旦寫好,就只

    2024年02月08日
    瀏覽(45)
  • 【Linux】--- Linux編譯器-gcc/g++、調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile 使用

    【Linux】--- Linux編譯器-gcc/g++、調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile 使用

    格式: gcc [選項(xiàng)] 要編譯的文件 [選項(xiàng)] [目標(biāo)文件] , gcc / g++ 安裝: sudo yum install -y gcc-c++ 。安裝后的編譯器默認(rèn)的版本是較低的,我們可以 使用選項(xiàng) -std=c99 (即使用c99標(biāo)準(zhǔn)), -std=c++11 (即使用c++11的標(biāo)準(zhǔn))來進(jìn)行版本提升 。使用 -o 選項(xiàng),可以將編譯生成的可執(zhí)行重命名

    2024年03月10日
    瀏覽(26)
  • 【Linux工具】編譯器、調(diào)式器、項(xiàng)目自動(dòng)化構(gòu)建工具以及git的使用3(GDB調(diào)試器的基礎(chǔ)使用)

    【Linux工具】編譯器、調(diào)式器、項(xiàng)目自動(dòng)化構(gòu)建工具以及git的使用3(GDB調(diào)試器的基礎(chǔ)使用)

    作者:愛寫代碼的剛子 時(shí)間:2023.7.18 前言:本篇博客主要講解Linux中調(diào)試器的使用,為之后的Linux編程打下堅(jiān)固的基礎(chǔ)。 背景 程序的發(fā)布方式有兩種,debug模式(能被調(diào)試 )和release模式 Linux gcc/g++出來的二進(jìn)制程序, 默認(rèn)是release模式 要使用gdb調(diào)試,必須在源代碼生成二進(jìn)制程

    2024年02月17日
    瀏覽(40)
  • Linux——gdb調(diào)試器

    Linux——gdb調(diào)試器

    目錄 ? ?前言: 二.gdb定義及指令: 如何查看該exe文件是否為Debug版本?兩種方法: 三.gdb調(diào)試: ? ? ? ??調(diào)試指令1:l指令(小寫L) run指令:運(yùn)行程序,相當(dāng)于VS中的直接運(yùn)行不調(diào)試——可簡化輸入r ?break指令:設(shè)置斷點(diǎn)——指令可簡化輸入為b??編輯? info b指令:查看整個(gè)代碼

    2024年02月07日
    瀏覽(21)
  • Linux--調(diào)試器:gdb

    Linux--調(diào)試器:gdb

    gcc與g++默認(rèn)動(dòng)態(tài)鏈接形成的可執(zhí)行程序(比如a.out)是 release 版本,不可調(diào)試!?。?如何搞成debug可調(diào)試版本? 查看可執(zhí)行程序存儲(chǔ)了哪些內(nèi)存空間: ? 調(diào)試語法:

    2024年02月13日
    瀏覽(19)
  • Linux調(diào)試器gdb

    Linux調(diào)試器gdb

    本文已收錄至《 Linux知識與編程 》專欄! 作者: ARMCSKGT 演示環(huán)境: CentOS 7? ?? ? 目錄 前言 正文 下載gdb 生成可調(diào)式文件 進(jìn)入gdb gdb常用指令 查看代碼 l? 運(yùn)行程序 r? 斷點(diǎn)設(shè)置 b? 顯示信息 info? 查看斷點(diǎn) info b? 刪除斷點(diǎn)?d? 禁用斷點(diǎn) disable breakpoints? 啟用斷點(diǎn) enable brea

    2024年02月14日
    瀏覽(20)
  • Linux - 還不懂 gdb 調(diào)試器?(調(diào)試軟件)

    Linux - 還不懂 gdb 調(diào)試器?(調(diào)試軟件)

    當(dāng)前,我們可以使用 make/makefile 來程序化執(zhí)行代碼文件;可以使用 gcc/g++ 等編譯器來編譯代碼;可以使用 vim 編輯器來編寫代碼;其實(shí)在 Linux 當(dāng)中還有一個(gè)工具,可以實(shí)現(xiàn)調(diào)試工作,這個(gè)工具就是 -- gdb。 在了解調(diào)試器之前,你應(yīng)該對代碼的發(fā)布版本做一些了解: 我們在 VS

    2024年02月07日
    瀏覽(20)
  • Linux調(diào)試器之gdb

    Linux調(diào)試器之gdb

    我們前面介紹了幾個(gè)基本的環(huán)境開發(fā)工具。例如通過yum我們可以安裝和卸載軟件、通過vim我們可以寫代碼、通過gcc和g++我們可以編譯代碼成可執(zhí)行程序。但是如何在Linux下調(diào)試代碼呢?我們并未介紹,本期我們將來介紹最后一個(gè)工具 --- 調(diào)試器gdb。 程序的發(fā)布方式 gdb基本的調(diào)

    2024年04月16日
    瀏覽(37)
  • 【Linux】Linux調(diào)試器-gdb使用

    【Linux】Linux調(diào)試器-gdb使用

    程序的發(fā)布方式有兩種,debug模式和release模式 Linux gcc/g++出來的二進(jìn)制程序,默認(rèn)是release模式 要使用gdb調(diào)試,必須在源代碼生成二進(jìn)制程序的時(shí)候, 加上 -g 選項(xiàng) 退出:? 調(diào)試命令: list/l 行號:顯示binFile源代碼,接著上次的位置往下列,每次列10行。 list/l 函數(shù)名:列出某

    2024年02月21日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包