Gdb調(diào)試
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了寧津免費(fèi)建站歡迎大家使用!
注意:在Gcc編譯選項(xiàng)中一定要加入
–g
退出GDB:quit
或
Ctrl+d
調(diào)試過程:
1.
查看文件
命令:
(gdb)
l
命令:(gdb)
b
行號
注:到第17行停止,并沒有執(zhí)行17行
3.
查看斷點(diǎn)情況
info
b
4.
運(yùn)行代碼
r
命令:
(gdb)
r
(也可以指定行開始運(yùn)行,在r后面加上行號)
5.
查看變量值
p
命令:(gdb)
p
變量名
6.
設(shè)置監(jiān)視點(diǎn):
watch
z
(變量名)
也可以是復(fù)雜的表達(dá)式
7.
單步運(yùn)行
命令:(gdb)
n
(逐過程)
8.逐步,會進(jìn)入函數(shù)
命令:(gdb)
s
9.條件斷點(diǎn)
將正常斷點(diǎn)轉(zhuǎn)變?yōu)闂l件斷點(diǎn):condition
如:condition
1
i
==
10
只有當(dāng)滿足條件i
==
1時(shí),才會在斷點(diǎn)1處暫停
10.
恢復(fù)程序運(yùn)行
c
命令:
(gdb)
c
(程序就會運(yùn)行,如果沒有斷點(diǎn),就運(yùn)行剩下部分,如果有斷點(diǎn),就會運(yùn)行到下一個(gè)斷點(diǎn))
11.
去除斷點(diǎn)
clear
line_number
clear
filename:line_number
12.
help
12.1
help找出類別
12.2help從列表中
分類: 電腦/網(wǎng)絡(luò) 操作系統(tǒng)/系統(tǒng)故障
問題描述:
第一次在Linux上工作,要用到一個(gè)什么gdb的東東。gdb到底是什么呢,各位老大?
解析:
Linux 包含了一個(gè)叫 gdb 的 GNU 調(diào)試程序. gdb 是一個(gè)用來調(diào)試 C 和 C++ 程序的強(qiáng)力調(diào)試器. 它使你能在程序運(yùn)行時(shí)觀察程序的內(nèi)部結(jié)構(gòu)和內(nèi)存的使用情況. 以下是 gdb 所提供的一些功能:
它使你能監(jiān)視你程序中變量的值.
它使你能設(shè)置斷點(diǎn)以使程序在指定的代碼行上停止執(zhí)行.
它使你能一行行的執(zhí)行你的代碼.
在命令行上鍵入 gdb 并按回車鍵就可以運(yùn)行 gdb 了, 如果一切正常的話, gdb 將被啟動并且你將在屏幕上看到類似的內(nèi)容:
GDB is free sofare and you are wele to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.14 (i486-slakware-linux), Copyright 1995 Free Sofare Foundation, Inc.
(gdb)
當(dāng)你啟動 gdb 后, 你能在命令行上指定很多的選項(xiàng). 你也可以以下面的方式來運(yùn)行 gdb :
gdb fname
當(dāng)你用這種方式運(yùn)行 gdb , 你能直接指定想要調(diào)試的程序. 這將告訴gdb 裝入名為 fname 的可執(zhí)行文件. 你也可以用 gdb 去檢查一個(gè)因程序異常終止而產(chǎn)生的 core 文件, 或者與一個(gè)正在運(yùn)行的程序相連. 你可以參考 gdb 指南頁或在命令行上鍵入 gdb -h 得到一個(gè)有關(guān)這些選項(xiàng)的說明的簡單列表.
GDB調(diào)試,建議去下個(gè)系統(tǒng)的文檔;
GDB調(diào)試器
GCC用于編譯程序,而Linux的另一個(gè)GNU工具gdb則用于調(diào)試程序。gdb是一個(gè)用來調(diào)試C和C++程序的強(qiáng)力調(diào)試器,我們能通過它進(jìn)行一系列調(diào)試工作,包括設(shè)置斷點(diǎn)、觀查變量、單步等。
其最常用的命令如下:
file:裝入想要調(diào)試的可執(zhí)行文件。
kill:終止正在調(diào)試的程序。
list:列表顯示源代碼。
next:執(zhí)行一行源代碼但不進(jìn)入函數(shù)內(nèi)部。
step:執(zhí)行一行源代碼而且進(jìn)入函數(shù)內(nèi)部。
run:執(zhí)行當(dāng)前被調(diào)試的程序
quit:終止gdb
watch:監(jiān)視一個(gè)變量的值
break:在代碼里設(shè)置斷點(diǎn),程序執(zhí)行到這?鍤憊移?
make:不退出gdb而重新產(chǎn)生可執(zhí)行文件
shell:不離開gdb而執(zhí)行shell
2)從你的描述上看來,你是用單獨(dú)的gdb.exe調(diào)試器,調(diào)試的時(shí)候不需要運(yùn)行程序的,編譯的時(shí)候 只要加上相應(yīng)的參數(shù)(”-g“)產(chǎn)生編譯后的可執(zhí)行文件,
以gcc編譯sum.c(加-g選項(xiàng)產(chǎn)生debug信息):
gcc –g –o sum sum.c
在命令行上鍵入gdb sum并按回車鍵就可以開始調(diào)試sum了,再運(yùn)行run命令執(zhí)行sum。
Ctrl + Alt 然后按F1 ,進(jìn)去一個(gè)黑屏界面,然后在login As 那里輸入root ,接著就是密碼,這樣,就算/root 目錄不存在也可以進(jìn)入系統(tǒng)的。
然后,你輸入 mkdir /root ,看能不能新建 /root目錄。如果能,你就可以重新按住Ctrl+Alt + F5(忘了,好像是F6,F(xiàn)7),重新進(jìn)入圖形 界面,再次凳錄。
方法二 ,也可以在進(jìn)入字符界面后,vi /etc/passwd
將第一行
root:x:0:0:root:/root:/bin/bash
改為
root:x:0:0:root:/home:/bin/bash
將桌面設(shè)在/home目錄。(不推薦)
另外,站長團(tuán)上有產(chǎn)品團(tuán)購,便宜有保證
標(biāo)題名稱:linux跳出命令Gdb linux跳到命令行開頭
文章分享:http://muchs.cn/article8/doecjip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、App開發(fā)、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)