亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux調試工具GDB使用簡易教程

2024-09-05 23:04:33
字體:
來源:轉載
供稿:網友

本文所述主要是Linux調試工具GDB的使用教程,具體如下。

聲明:本博客內容是由本人經過實驗樓教程整理得來。

GDB的相關概念

GDB, 是 The GNU Project Debugger 的縮寫, 是 Linux 下功能全面的調試工具。GDB 支持斷點、單步執行、打印變量、觀察變量、查看寄存器、查看堆棧等調試手段。在 Linux 環境軟件開發中,GDB 是主要的調試工具,用來調試 C 和 C++ 程序。

GDB的相關操作

下面給出一個具有buging.c的程序:

[yqtao@localhost linux/198892.html">linux]$ cat buging.c #include <stdio.h>int getSum(int n) {    int sum=0,i;    for (i=1;i<=n;i++)        sum+=i;    return sum;}int main(){    int res=getSum(100);    printf("1+2+...+100=%d/n",res);}

如果要調試程序,則在進行gcc編譯的時候要加上-g參數

gcc -g -o bugging bugging.c

進入gdb:

gdb buging

部分gdb命令:

linux,gdb調試工具,gdb使用,如何使用gdb,ubuntu,gdb調試

// 查看源碼// 查看第幾行附近// 可簡寫成l 2(gdb) list 2   1    #include <stdio.h>2    int getSum(int n) {3        int sum=0,i;4        for (i=1;i<=n;i++)5            sum+=i;6        return sum;7    }// 查看main函數附近的源碼(gdb) list main3        int sum=0,i;4        for (i=1;i<=n;i++)5            sum+=i;6        return sum;7    }8    int main(){9        int res=getSum(100);10       printf("1+2+...+100=%d/n",res);11   }// 設置斷點// break +n在第幾行設斷點(gdb) break 8Breakpoint 1 at 0x4004fa: file buging.c, line 8.// break +函數名 ,在函數名處設斷點(gdb) break getSumBreakpoint 2 at 0x4004cb: file buging.c, line 3.//查看斷點信息(gdb) info breakpoints Num   Type      Disp Enb Address      What1    breakpoint   keep y  0x00000000004004fa in main at buging.c:82    breakpoint   keep y  0x00000000004004cb in getSum at buging.c:3

斷點信息中每一項的信息:

1.Num 列代表斷點編號,該編號可以作為 delete/enalbe/disable 等控制斷點命令的參數
2.Type 列代表斷點類型,一般為 breakpoint
3.Disp 列代表斷點被命中后,該斷點保留(keep)、刪除(del)還是關閉(dis)
4.Enb 列代表該斷點是 enable(y) 還是 disable(n)
5.Address 列代表該斷點處虛擬內存的地址
6.What 列代表該斷點在源文件中的信息

// 刪除斷點// delete +n 或 d +n// 如果不加數字則刪除全部的斷點(gdb) d 2(gdb) info breakpoints Num   Type      Disp Enb Address      What1    breakpoint   keep y  0x00000000004004fa in main at buging.c:8

關閉和啟用斷點:

有時候,我們會遇到這種情況:有些斷點可能暫時不用但又不想刪除,那么可以disable.

disable +n //關閉斷點enable +n  //啟動斷點

GDB單步調試

以本文開頭的buging.c文件為例,進行單步調試。

// 進入gdb[yqtao@localhost linux]$ gdb buging// 在main()函數處設斷點(gdb) info breakpoints // 運行程序(gdb) runBreakpoint 1, main () at buging.c:99        int res=getSum(100);

注意:我們要進入函數要是用step(s),而單步執行next(n),next是不進入函數內部的,要區分兩者的關系。

(gdb) stepgetSum (n=100) at buging.c:44        for (i=1;i<=n;i++)// 查看代碼(gdb) l1    #include <stdio.h>2    int getSum(int n) {3        int sum=0,i;4        for (i=1;i<=n;i++)5            sum+=i;6        return sum;7    }8    int main(){9        int res=getSum(100);10       printf("1+2+...+100=%d/n",res);// 下一步(gdb) s5            sum+=i;// 打印sum的值// 看到sum是為賦初值的(gdb) p sum$1 = 4195633// info locals//打印當前斷點處所在函數的所有局部變量的值,不包括函數參數。(gdb) info localssum = 4195635i = 3

其余的一些命令:

finish

執行程序到當前函數結束

continue

執行程序到下個斷點

until

until N,執行程序到源代碼的某一行

總結

以上就是本文關于Linux調試工具GDB使用簡易教程的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲人成a一在线v站| www.xxxx精品| 在线电影欧美日韩一区二区私密| 亚洲国产一区自拍| 亚洲国产精品va在线看黑人动漫| 68精品久久久久久欧美| 91香蕉国产在线观看| 欧美日韩国产精品专区| 色综合视频一区中文字幕| 久久精品中文字幕| 色悠悠国产精品| 亚洲精品福利在线观看| 亚洲女成人图区| 久久久伊人欧美| 日韩精品中文字幕久久臀| 久久伊人色综合| 欧美精品久久久久久久久久| 国产精品爱啪在线线免费观看| 97福利一区二区| 日韩大胆人体377p| 日韩电影中文字幕在线| 日本欧美在线视频| 一区二区日韩精品| 日韩福利视频在线观看| 1769国内精品视频在线播放| 国产成人精品免高潮在线观看| 亚洲国产精品人人爽夜夜爽| 国产精品久久久久久久天堂| 亚洲系列中文字幕| 疯狂做受xxxx高潮欧美日本| 国产精品福利无圣光在线一区| 欧美亚洲国产日韩2020| 97视频在线观看网址| 亚洲成人网av| 98精品在线视频| 亚洲人在线观看| 久久国产精品影视| 亚洲视频视频在线| 欧美大胆在线视频| 精品一区电影国产| 91大神福利视频在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品久久久久久久久久东京| 中文字幕精品在线视频| 亚洲аv电影天堂网| 九九精品视频在线观看| 欧美性猛交xxxx乱大交| 日本免费一区二区三区视频观看| 欧美成人精品激情在线观看| 欧美天天综合色影久久精品| 国产欧美日韩亚洲精品| 亚洲天堂av在线播放| 日韩高清电影好看的电视剧电影| 亚州国产精品久久久| 亚洲精品综合久久中文字幕| 国产精品久久久久久中文字| 操91在线视频| 亚洲天堂av网| 欧美猛交ⅹxxx乱大交视频| 亚洲综合色激情五月| 91国产精品视频在线| 92国产精品视频| 欧美激情精品久久久久久蜜臀| 国产精品久久久久不卡| 欧美香蕉大胸在线视频观看| 亚洲人成在线观| 久久免费观看视频| 日韩欧亚中文在线| 国产日韩在线免费| 欧美视频在线观看 亚洲欧| 清纯唯美日韩制服另类| 久久久综合免费视频| 久久99国产精品久久久久久久久| 97精品在线视频| 日韩有码在线电影| 亚洲国产精品电影在线观看| 日韩在线观看免费全集电视剧网站| 性色av一区二区三区在线观看| 欧美电影在线免费观看网站| 亚洲精品短视频| 国产一区二区成人| 成人午夜小视频| 久久精品在线播放| 欧美日韩国产在线| 日韩av中文在线| 成人免费黄色网| 欧美大片网站在线观看| 日韩精品极品在线观看播放免费视频| 国产一区在线播放| 精品在线观看国产| 色综合色综合网色综合| 国产精品丝袜白浆摸在线| 久久天天躁狠狠躁夜夜躁| 中文字幕无线精品亚洲乱码一区| 日韩视频在线免费| 国产精品久久久久久久久久久久久久| 色婷婷av一区二区三区久久| 懂色aⅴ精品一区二区三区蜜月| 欧美精品成人91久久久久久久| 亚洲国产精品va在线看黑人| 91精品成人久久| 国产精品久久久久av免费| 国产精品一区二区三区在线播放| 亚洲视频专区在线| 欧美丝袜一区二区三区| 欧美丰满少妇xxxxx| 亚洲影视九九影院在线观看| 欧美性猛交xxxx富婆| 国产v综合ⅴ日韩v欧美大片| 成人免费视频a| 亚洲а∨天堂久久精品9966| 久久精品国产一区二区电影| 日韩中文字幕久久| 久久久久99精品久久久久| 国产91精品久久久久久久| 国产精品香蕉在线观看| 国产精品久久久久一区二区| 精品久久久久久亚洲国产300| 久久精品视频播放| 欧美影院成年免费版| 日韩av大片在线| 国产精品久久久久久久app| 日av在线播放中文不卡| 欧美精品激情在线| 欧美成人精品一区二区| 91最新国产视频| 亚洲色图在线观看| 国产精品嫩草影院一区二区| 91精品久久久久久久久青青| 国产不卡av在线| 91网站在线看| 欧美成年人在线观看| 性欧美在线看片a免费观看| 岛国精品视频在线播放| 美女国内精品自产拍在线播放| 亚洲精品999| 亚洲最大激情中文字幕| 精品亚洲精品福利线在观看| 久久手机免费视频| 亚洲自拍偷拍福利| 欧美激情视频给我| 中文字幕国产精品| 日韩精品极品在线观看播放免费视频| 国产视频精品xxxx| 久久69精品久久久久久国产越南| 亚洲sss综合天堂久久| 69影院欧美专区视频| 在线不卡国产精品| 韩日欧美一区二区| 成人精品在线观看| 北条麻妃99精品青青久久| 日韩福利伦理影院免费| 日本国产一区二区三区| 久色乳综合思思在线视频| 成人激情春色网| 性金发美女69hd大尺寸| 亚洲精品www久久久久久广东| 欧美精品情趣视频| 国产精品久久久久久网站| 亚洲精品久久久久中文字幕二区| 亚洲精品欧美日韩专区| 国产一区二区美女视频| 亚洲第一国产精品| 亚洲国产精品va在线看黑人动漫|