91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GDB如何調試

發布時間:2021-11-25 09:12:50 來源:億速云 閱讀:206 作者:小新 欄目:編程語言

小編給大家分享一下GDB如何調試,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一、Linux程序gcc編譯步驟:

Gcc編譯過程主要的4個階段:

l 預處理階段,完成宏定義和include文件展開等工作;(.i)

l 根據編譯參數進行不同程度的優化,編譯成匯編代碼(.s.S)

l 用匯編器把匯編代碼進一步生成目標代碼(.o)

l 用連接器把生成的目標代碼和系統或用戶提供的庫連接起來,生成可執行文件

格式:

l gcc -E test.c//預處理階段

l Gcc -S test.c//編譯階段

l Gcc -c test.c//匯編階段

l Gcc -o test test.c//鏈接階段

二、Linux程序gdb調試步驟:

Gdb的功能:

l 設置斷點

l 監視程序變量的值

l 程序的單步執行

l 顯示、修改變量的值

l 顯示、修改寄存器

l 查看程序的堆棧情況

l 遠程調試

Gdb調試過程:

1、程序經過預處理后,即進入編譯階段,進入編譯階段,首先聲明編譯:

2、格式:gcc-o test test.c -g

3、進入編譯:gdb test

4、顯示需要編譯調試的源程序:l(list)//list filename

5、設置斷點:b(break)行號

6、查看設置的斷點:info b

7、運行調試程序:run

8、跳到下一個斷點:c(continue)

9、單步運行的話使用:n(next)/s(step into)跳到函數體 //區別在與:next執行函數體,而step不執行函數體

10、調試過程中查看某個變量的變化:print i (每次都要手動設置)//display i(設置一次一直尾隨,直到用“undisplay 變量標號” 停止)

11、退出當前的調試使用finish 跳出函數

12、清楚斷點 clear 行號

13、Delete 斷點信息序號// 刪除所有斷點或設置的要刪除的斷點

14、退出調試 q

15、b num if i==20 設置斷點的觸發條件

16、condition num i==50 改變斷點的觸發條件

17、GDB中源代碼查看命令

list /l 行號或函數名 //查看指定位置代碼

list <linenum> //顯示程序第linenum行的周圍的源程序

list <function> //顯示函數名為function的函數的源程序

list // 顯示當前行后面的源程序

list <filename:funtion> //顯示哪個文件中的哪個函數的源程序

eg: list src/fun1.c:fun1

list <filename:linenum> //哪個文件的哪一行周圍的源程序

eg:list src/fun1.c:1

看完了這篇文章,相信你對“GDB如何調試”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

gdb
AI

仲巴县| 长垣县| 九江县| 沐川县| 太谷县| 建德市| 蒙自县| 郧西县| 双辽市| 额敏县| 藁城市| 慈利县| 青田县| 雅安市| 乌海市| 丹寨县| 阿合奇县| 江山市| 屯昌县| 崇阳县| 峨眉山市| 体育| 渭南市| 洛扎县| 泾阳县| 资中县| 彭山县| 陆河县| 永城市| 九江县| 和平区| 炉霍县| 奉节县| 惠安县| 汾西县| 西华县| 斗六市| 太和县| 墨竹工卡县| 依安县| 夏邑县|