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

Linux的調(diào)試工具 - gdb(超詳細(xì))

這篇具有很好參考價(jià)值的文章主要介紹了Linux的調(diào)試工具 - gdb(超詳細(xì))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 背景

  • 程序的發(fā)布方式有兩種,debug模式和release模式
  • Linux gcc/g++出來的二進(jìn)制程序,默認(rèn)是release模式
  • 要使用gdb調(diào)試,必須在源代碼生成二進(jìn)制程序的時(shí)候, 加上 -g 選項(xiàng),發(fā)布成debug模式
    Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器

2. 開始使用

指令的使用都用下面這個(gè)C語言簡(jiǎn)單小代碼來進(jìn)行演示:

  1 #include <stdio.h>
  2 
  3 int SumAdd(int x)
  4 {
  5     int i=1;
  6     int sum=0;
  7     for(i=1;i<=x;i++)
  8     {
  9         sum+=i;
 10     }
 11     return sum;
 12 }
 13 
 14 int main()
 15 {
 16     printf("%d \n",SumAdd(100));
 17     return 0;
 18 }            

1. list或l 行號(hào):顯示文件源代碼,接著上次的位置往下列,每次列10行。

例:l 0

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


2. list或l 函數(shù)名:列出某個(gè)函數(shù)的源代碼。

例:l SumAdd

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


3. r或run: 運(yùn)行程序。

注: 如果沒有斷點(diǎn),程序?qū)⑦\(yùn)行到底

例:r

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


4. break或b 行號(hào):在某一行設(shè)置斷點(diǎn)

例:b 3

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


5. n或next:?jiǎn)螚l執(zhí)行(類似vs中的F10)

注: 單條執(zhí)行需要在調(diào)試啟動(dòng)的情況下進(jìn)行,需要先打斷點(diǎn),然后r執(zhí)行到斷點(diǎn)位置

例:n

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


6. s或step:進(jìn)入函數(shù)調(diào)用(類似vs中的F11)

例:s

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


7. break 函數(shù)名:在某個(gè)函數(shù)開頭設(shè)置斷點(diǎn)

例:break SumAdd

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


8. info break或info b:查看斷點(diǎn)信息。

例:info b

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


9. finish:執(zhí)行到當(dāng)前函數(shù)返回,然后挺下來等待命令

例:finish

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


10. p 變量:打印變量值。

例:p sum

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


11. continue或c:從當(dāng)前位置開始連續(xù)而非單步執(zhí)行程序

例:c

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


12. run或r:從開始連續(xù)而非單步執(zhí)行程序

r

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器

13. delete breakpoints:刪除所有斷點(diǎn)

例;delete breakpoints

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


14. delete breakpoints n:刪除序號(hào)為n的斷點(diǎn)

delete breakpoints 5

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


15. disable breakpoints:禁用斷點(diǎn)

例:disable breakpoints

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


16. enable breakpoints:?jiǎn)⒂脭帱c(diǎn)

例:enable breakpoints

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


17. display 變量名:跟蹤查看一個(gè)變量,每次停下來都顯示它的值

例:display sum

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


18. undisplay:取消對(duì)先前設(shè)置的那些變量的跟蹤

例:undisplay

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


19. until X(行號(hào)):跳至X行

例:until 11

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


20. breaktrace或bt:查看各級(jí)函數(shù)調(diào)用及參數(shù)

例:bt

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器


21. q或quit:退出gdb

例:q

Linux的調(diào)試工具 - gdb(超詳細(xì)),linux,運(yùn)維,服務(wù)器

(本章完)文章來源地址http://www.zghlxwxcb.cn/news/detail-727484.html

到了這里,關(guān)于Linux的調(diào)試工具 - gdb(超詳細(xì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Linux中的C/C++語言調(diào)試工具 GDB

    Linux中的C/C++語言調(diào)試工具 GDB

    GDB(GNU Debugger)是一個(gè)功能強(qiáng)大的調(diào)試器,用于調(diào)試和分析程序的執(zhí)行過程。它是GNU項(xiàng)目的一部分,可以在多個(gè)操作系統(tǒng)上使用,包括Linux、Unix和Windows。 GDB主要用于調(diào)試編譯后的 可執(zhí)行文件 ,它可以幫助程序開發(fā)人員識(shí)別和修復(fù)代碼中的錯(cuò)誤、追蹤程序的執(zhí)行流程、觀察和

    2024年02月08日
    瀏覽(22)
  • 【Linux操作系統(tǒng)】深入了解系統(tǒng)編程gdb調(diào)試工具

    【Linux操作系統(tǒng)】深入了解系統(tǒng)編程gdb調(diào)試工具

    在軟件開發(fā)過程中,調(diào)試是一個(gè)非常重要的步驟。無論是在開發(fā)新的軟件還是維護(hù)現(xiàn)有的代碼,調(diào)試都是解決問題的關(guān)鍵。對(duì)于Linux開發(fā)者來說,GDB是一個(gè)非常有用的調(diào)試工具。在本文中,我們將探討Linux中使用GDB進(jìn)行調(diào)試的方法和技巧。 GDB是GNU調(diào)試器的縮寫,是一個(gè)功能強(qiáng)

    2024年02月14日
    瀏覽(24)
  • Linux:gdb調(diào)試器的解析+使用(超詳細(xì)版)

    Linux:gdb調(diào)試器的解析+使用(超詳細(xì)版)

    程序的發(fā)布方式有兩種,debug模式和release模式 debug模式:可以被調(diào)試; release模式:不可以被調(diào)試。 為什么需要debuy和release這兩個(gè)模式呢? 答:程序員在開發(fā)的時(shí)候需要去調(diào)試代碼,所以需要debuy模式,而用戶一般不懂這些代碼的調(diào)試不需要debuy模式,只需要快速的下載和安

    2024年02月05日
    瀏覽(30)
  • [linux開發(fā)工具]小程序--進(jìn)度條、調(diào)試器 - gdb

    [linux開發(fā)工具]小程序--進(jìn)度條、調(diào)試器 - gdb

    ?? 作者簡(jiǎn)介 :RO-BERRY ?? 學(xué)習(xí)方向:致力于C、C++、數(shù)據(jù)結(jié)構(gòu)、TCP/IP、數(shù)據(jù)庫(kù)等等一系列知識(shí) ?? 日后方向 : 偏向于CPP開發(fā)以及大數(shù)據(jù)方向,歡迎各位關(guān)注,謝謝各位的支持 第一種情況 執(zhí)行結(jié)果如下: 可以看到程序先執(zhí)行printf再執(zhí)行sleep 第二種情況 執(zhí)行結(jié)果如下: 在這里

    2024年02月22日
    瀏覽(21)
  • Linux系統(tǒng)下的程序調(diào)試工具——GDB(GNU Debugger)

    GCC(GNU Compiler Collection)是GNU開發(fā)的編程語言編譯器,它支持多種編程語言,如C、C++、Objective-C、Fortran、Ada和Go等。 以下是一些常用的操作: 啟動(dòng)GDB并加載程序 設(shè)置斷點(diǎn) 在代碼中的某一行設(shè)置斷點(diǎn),當(dāng)程序運(yùn)行到這一行時(shí),GDB會(huì)暫停執(zhí)行。 例如,如果你在 main.c 文件的第

    2024年04月13日
    瀏覽(32)
  • Linux之基礎(chǔ)開發(fā)工具gdb調(diào)試器的使用(三)

    Linux之基礎(chǔ)開發(fā)工具gdb調(diào)試器的使用(三)

    ??北塵_ :個(gè)人主頁 ??個(gè)人專欄 :《Linux操作系統(tǒng)》《經(jīng)典算法試題 》《C++》 《數(shù)據(jù)結(jié)構(gòu)與算法》 ??走在路上,不忘來時(shí)的初心 yum install -y gdb 程序的發(fā)布方式有兩種,debug模式和release模式 Linux gcc/g++出來的二進(jìn)制程序,默認(rèn)是release模式,release模式下無法調(diào)試 要使用gd

    2024年02月05日
    瀏覽(23)
  • 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】—— 強(qiáng)大的命令行工具 P.6(調(diào)試器-gdb、項(xiàng)目自動(dòng)化構(gòu)建工具-make/Makefile)

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

    前面我們講了C語言的基礎(chǔ)知識(shí),也了解了一些數(shù)據(jù)結(jié)構(gòu),并且講了有關(guān)C++的一些知識(shí),也學(xué)習(xí)了一些Linux的基本操作,也了解并學(xué)習(xí)了有關(guān)Linux開發(fā)工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代碼也相信大家都掌握的不錯(cuò),今天博主帶大家了解一下 —— Linux系統(tǒng)下的調(diào)試

    2024年02月12日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包