在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

linux下gdb安裝與使用簡介

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-08-16 09:03 ? 次閱讀

linux下 gdb安裝與使用簡介

gdb簡介
GDB,又稱GNU調試器,是用來幫助調試我們程序的工具。gdb可以設置斷點、查看變量、堆棧空間的值、設置執行條件的值等。

一般來說,GDB主要幫助你完成下面四個方面的功能:

1、啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。

2、可讓被調試的程序在你所指定的調置的斷點處停住。(斷點可以是條件表達式)

3、當程序被停住時,可以檢查此時你的程序中所發生的事。

4、你可以改變你的程序,將一個BUG產生的影響修正從而測試其他BUG。

red hat6.3下安裝gdb調試工具

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70

拷貝gdb軟件包到用戶目錄下,切換到用戶目錄下,安裝gdb工具。

[xsw@xsw Packages]$ cp ./gdb-7.2-56.el6.i686.rpm  ~
[xsw@xsw Packages]$ cd ~
[xsw@xsw ~]$ sudo rpm -ivh gdb-7.2-56.el6.i686.rpm 
poYBAGL6P5OALFkRAABVbpCZcKQ793.png

Ubuntu下安裝gdb

[wbyq@wbyq ~]$ sudo apt-get install gdb

gdb工具常用命令

參數 功能
r run, 直接調到斷點處,沒有設置斷點的話直接運行程序
b func 設置一個斷點breakpoint在函數”func”的最開始
b N 在當前函數的第N行設置斷點
d N 刪除第N行的斷點
info b 顯示所有斷點
c 繼續運行到下一個斷點或程序結束
f 運行到當前程序結束
s 單步調試,進入函數
s N 執行接下來的N行程序
n 單步調試,不進入函數
p data 輸出變量data的值
bt 查看調用的堆棧
l 一次列出10行源碼(從mian.c開始)
l func 列出函數func的10行源碼
condition 設置條件斷點,condition 1 i=5,設置斷點1的條件斷點為i=5
q 退出gdb

示例

#include 
int main()
{
	int a;
	int *p=&a;
	printf("請輸入val:\n");
	scanf("%d",&a);
	int i=0;
	for(i=0;i<5;i++)
	{
		*p+=i;	
	}
	printf("a=%d\n",*p);	
}

調試步驟
1.編譯程序,使用gdb調試時需加上-g,進入調試模式。

[xsw@xsw cc]$ gcc main.c -g
[xsw@xsw cc]$ gdb ./a.out
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-56.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/xsw/xsw_work/cc/a.out...done.
(gdb) 

2.列出源碼

(gdb) l
1	#include 
2	int main()
3	{
4		int a;
5		int *p=&a;
6		printf("請輸入val:\n");
7		scanf("%d",&a);
8		int i=0;
9		for(i=0;i<5;i++)
10		{
(gdb)

3.設置斷點,開始運行

(gdb) b 4
Breakpoint 1 at 0x804844d: file main.c, line 4.
(gdb) r
Starting program: /home/xsw/xsw_work/cc/a.out 

Breakpoint 1, main () at main.c:5
5		int *p=&a;
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.80.el6.i686
(gdb) 

4.單步執行

(gdb) s
6		printf("請輸入val:\n");
(gdb) s
請輸入val:
7		scanf("%d",&a);
(gdb) s
5
8		int i=0;

5.查看變量值

(gdb) p a
$1 = 5
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11351

    瀏覽量

    210497
  • 調試器
    +關注

    關注

    1

    文章

    306

    瀏覽量

    23847
  • gdb
    gdb
    +關注

    關注

    0

    文章

    60

    瀏覽量

    13350
收藏 人收藏

    評論

    相關推薦

    使用GDB調試Linux應用程序

    本篇講解使用GDB調試Linux應用程序,以下以 `hellowld.c` 為例介紹 GDB 的調試入門。
    發表于 06-27 15:48 ?492次閱讀

    linuxGDB教程

    linuxGDB教程
    發表于 08-20 13:39

    嵌入式arm linux環境中gdb+gdbserver的安裝

    $ make(4)安裝 $ make install編譯結果在/usr/local/arm/3.3.2/bin目錄下,arm-linux-gdb既是GDB工具。三、編譯
    發表于 11-21 11:16

    linux 3 - gdb安裝和使用介紹

    .iso的安裝包里找到和gdb相關的rpm包 2.我們可以看到以上的三個包 接下來就是將這三個包掛載到linux 系統, 當然你也可以使用一些工具如loadCRT等,實現wi
    發表于 07-03 13:27

    DM8168 gdb調試需要單獨再安裝

    我想在DVRRDK 4.0 gdb調試,是用arm-arago-linux-gnueabi-貶意工具鏈自帶的gdb,還是需要單獨再安裝
    發表于 02-21 06:06

    如何搭建嵌入式LinuxGDB調試環境

    文章目錄介紹GDB簡介交叉編譯器的gdb介紹在學習單片機的時候我們可以通過集成式IDE 來進行調試,比如MDK、IAR 等。在嵌入式linux 領域是否也可以進行調試呢?答案肯定是可以
    發表于 11-05 06:03

    ubuntuGDB調試GDB簡介

    調試與圖像編程ubuntuGDB調試Opencv3.x的基本應用ubuntuGDB調試GDB簡介
    發表于 12-21 08:20

    LinuxQt的安裝

    LinuxQt的安裝
    發表于 11-09 17:14 ?5次下載

    Embeded linux之Qt gdb

    Embeded linux之Qt gdb
    發表于 05-15 13:52 ?1339次閱讀
    Embeded <b class='flag-5'>linux</b>之Qt <b class='flag-5'>gdb</b>

    嵌入式LinuxGDB調試環境建立

    的是gdb-5.2.1.tar.gz。假定在debug編譯gdb套件,你前面已經設定了TARGET,PREFIX參數。其中TARGET是你的目標板,我的是arm-linux,PREF
    發表于 04-02 14:33 ?551次閱讀

    實例演示GDB的使用

    GDB簡介 GDB(GNU Debugger)是一個強大的命令行調試工具。一般的,在Windows進行開發,很少操控命令行調試,調試器大多與編譯器都集成在IDE里了。 當然,在Win
    的頭像 發表于 10-19 09:58 ?2786次閱讀
    實例演示<b class='flag-5'>GDB</b>的使用

    嵌入式Linux GDB調試環境搭建與使用

    這里寫目錄標題簡介在Ubuntu簡單體驗GDB嵌入式GDB移植GDB 常用命令參考網絡通信設置注意事項
    發表于 11-01 17:59 ?8次下載
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b>調試環境搭建與使用

    Linux嵌入式 gdb VSCode圖形化調試教程

    文章目錄介紹GDB簡介交叉編譯器的gdb介紹在學習單片機的時候我們可以通過集成式IDE 來進行調試,比如MDK、IAR 等。在嵌入式linux 領域是否也可以進行調試呢?答案肯定是可以
    發表于 11-02 12:21 ?15次下載
    <b class='flag-5'>Linux</b>嵌入式 <b class='flag-5'>gdb</b> VSCode圖形化調試教程

    嵌入式Linux GDB是什么

    函數、設置斷點、查看變量等等,它是 UNIX/LINUX 操作系統強大的程序調試工具。 gdb 支持多種語言
    的頭像 發表于 07-27 16:29 ?807次閱讀
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b>是什么

    如何使用linuxgdb來調試python程序

    如何使用linuxgdb來調試python程序? 在Linux,可以使用GDB(GNU調試器
    的頭像 發表于 01-31 10:41 ?2760次閱讀
    主站蜘蛛池模板: 天天综合亚洲 | 天天噜噜色| 高清一级做a爱视频免费 | 极品美女啪啪 | 成年人www | 午夜性a一级毛片 | 5151四虎永久在线精品免费 | 婷婷开心激情网 | h视频免费在线 | 黄色大片视频在线观看 | 成人午夜精品久久久久久久小说 | 4hu四虎永久免在线视 | 国产v精品成人免费视频400条 | 欧美激情综合亚洲五月蜜桃 | 亚洲高清一区二区三区 | 成年全黄大色大黄 | 精品伊人久久香线蕉 | 四虎网址大全 | 天堂在线视频网站 | 高清视频 一区二区三区四区 | 一区二区三区四区视频在线 | 岛国毛片一级一级特级毛片 | 女人张开腿双腿让男人桶 | 久色乳综合思思在线视频 | 99久久999久久久综合精品涩 | 一本二卡三卡四卡乱码二百 | 在线天堂资源www中文在线 | 男人资源站| 一卡二卡卡四卡无人区中文 | 日本免费网站在线观看 | 亚洲综合黄色 | 亚洲三级理论 | 天天搞天天爽 | 性欧美长视频 | 色在线网站 | 久久久久国产精品免费网站 | 色妞女女女女女bbbb | 国产成人毛片视频不卡在线 | 正在播放淫亚洲 | 美女网站色黄 | 日韩毛片在线 |