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

Linux開發(fā)工具之調(diào)試器gdb

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

程序的發(fā)布方式有兩種,debug模式和release模式

Linux gcc/g++出來的二進(jìn)制程序,默認(rèn)是release模式
要使用gdb調(diào)試,必須在源代碼生成二進(jìn)制程序的時(shí)候, 加上 -g 選項(xiàng)
?

所以一份代碼若要被調(diào)試必須是debug模式,但是在linux下我們編譯代碼的時(shí)候默認(rèn)為release模式,要想讓我們的代碼以debug模式發(fā)布必須給gcc添加-g選項(xiàng)

在debug模式發(fā)布的時(shí)候一定要給可執(zhí)行程序內(nèi)部添加debug信息,否則無法調(diào)試,故而debug模式下形成的可執(zhí)行程序大小>release形成的可執(zhí)行程序

開始使用gdb

看代碼:I 數(shù)字 從第數(shù)字行開始展示,gdb會記錄最近的歷史命令,直接回車就是上一個(gè)命令

打斷點(diǎn):b 數(shù)字? /文件名:數(shù)字? /文件名:函數(shù) /? ?函數(shù)? 每一個(gè)斷點(diǎn)都有編號

刪斷點(diǎn):d 斷點(diǎn)的編號

查看斷點(diǎn):info b

r:開始調(diào)試

until:運(yùn)行至指定位置

finish:運(yùn)行到當(dāng)前函數(shù)的結(jié)尾

c:從一個(gè)斷點(diǎn)直接運(yùn)行到下一個(gè)斷點(diǎn)處

bt:查看調(diào)用堆棧

enable:開啟斷點(diǎn)

disable:禁止斷點(diǎn)

n:逐過程

s:逐語句

display:變量名和變量地址可以看到變量細(xì)節(jié)

undispaly:根據(jù)長顯示條目編號,取消長顯示

set val:更改變量的值

list/l 行號:顯示binFile源代碼,接著上次的位置往下列,每次列10行。
list/l 函數(shù)名:列出某個(gè)函數(shù)的源代碼。
r或run:運(yùn)行程序。
n 或 next:單條執(zhí)行。
s或step:進(jìn)入函數(shù)調(diào)用
break(b) 行號:在某一行設(shè)置斷點(diǎn)
break 函數(shù)名:在某個(gè)函數(shù)開頭設(shè)置斷點(diǎn)
info break :查看斷點(diǎn)信息。
finish:執(zhí)行到當(dāng)前函數(shù)返回,然后挺下來等待命令
print(p):打印表達(dá)式的值,通過表達(dá)式可以修改變量的值或者調(diào)用函數(shù)
p 變量:打印變量值。
set var:修改變量的值
continue(或c):從當(dāng)前位置開始連續(xù)而非單步執(zhí)行程序
run(或r):從開始連續(xù)而非單步執(zhí)行程序
delete breakpoints:刪除所有斷點(diǎn)
delete breakpoints n:刪除序號為n的斷點(diǎn)
disable breakpoints:禁用斷點(diǎn)
enable breakpoints:啟用斷點(diǎn)
info(或i) breakpoints:參看當(dāng)前設(shè)置了哪些斷點(diǎn)
display 變量名:跟蹤查看一個(gè)變量,每次停下來都顯示它的值
undisplay:取消對先前設(shè)置的那些變量的跟蹤
until X行號:跳至X行
breaktrace(或bt):查看各級函數(shù)調(diào)用及參數(shù)
info(i) locals:查看當(dāng)前棧幀局部變量的值
quit:退出gdb
?文章來源地址http://www.zghlxwxcb.cn/news/detail-728773.html

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(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】自動化構(gòu)建工具--make/Makefile&&調(diào)試器--gdb的使用

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

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

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

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

    前面我們講了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)試

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

    【Linux】--- Linux編譯器-gcc/g++、調(diào)試器-gdb、項(xià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)目自動化構(gòu)建工具以及git的使用3(GDB調(diào)試器的基礎(chǔ)使用)

    【Linux工具】編譯器、調(diào)式器、項(xià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)試器?(調(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日
    瀏覽(21)
  • 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)動態(tài)鏈接形成的可執(zhí)行程序(比如a.out)是 release 版本,不可調(diào)試!?。?如何搞成debug可調(diào)試版本? 查看可執(zhí)行程序存儲了哪些內(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日
    瀏覽(21)
  • 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)紅包