❶ 如何在Mac系統中安裝gdb調試器
一、安裝GDB
1
在進行gdb安裝前應首先配置好homebrew安裝管理工具,由於先前寫過Homebrew的詳細安裝過程(可以參考本人先前經驗)
2
安裝好homebrew後,輸入如下命令查看homebrew中是否有gdb安裝包,可以看到現在的版本中並沒有gdb安裝包。
3
輸入命令brew update來更新homebrew的軟體庫,更新完成後再次查詢即可看到已經有gdb安裝包嘍。
4
輸入命令brew install gdb 即可以進行gdb調試器的安裝了,安裝過程如下所求
5
安裝完成後可以通過輸入gdb測試gdb版本及是否正確安裝。
6
此外,建議大家通過如上安裝方式來安裝CGDB或者DDD調試工具,它們也都是基於GDB的,但是它們有著便捷的界面調試優勢。
7可能會發現安裝完成後還是不能利用GDB來進行代碼調試,會出現如下錯誤:
Unable to find Mach task port for process-id 6603: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
接下來。。。
還需要對GDB進行證書簽名方可正常使用。
END
二、給GDB創建證書
1
在mac中打開keychain access工具,並創建一個證書
2
證書的信息可能參考如下所示的圖
3
此後一直點擊繼續按鈕直到下圖時,更改為相應設置為System,最終便生成了如下所示的證書。
4
按照下面步驟更改證書的許可權為「Always trust"
END
三、對證書進行簽名
打開終端,輸入如下命令
codesign -s yc_GDB_cert /usr/local/bin/gdb
打開任務管理器,在CPU選項卡中關閉進程taskgated
接下來就可以通過GDB來進行代碼調試了
❷ gdb調試命令是什麼
gdb調試命令如下:
1、啟動gdb
$gdb
這樣可以和gdb進行交互了。
2、啟動gdb,並且分屏顯示源代碼
$gdb -tui
這樣,使用了'-tui'選項,啟動可以直接將屏幕分成兩個部分,上面顯示源代碼,比用list方便多了。這時候使用上下方向鍵可以查看源代碼,想要命令行使用上下鍵就用[Ctrl]n和[Ctrl]p。
3、啟動gdb調試指定程序app
$gdb app
這樣就在啟動gdb之後直接載入了app可執行程序,需要注意的是,載入的app程序必須在編譯的時候有gdb調試選項,例如'gcc -g app app.c',注意,如果修改了程序的源代碼,但是沒有編譯,那麼在gdb中顯示的會是改動後的源代碼,但是運行的是改動前的程序,這樣會導致跟蹤錯亂的。
4、啟動程序之後,再用gdb調試
$gdb <program> <PID>
這里,<program>是程序的可執行文件名,<PID>是要調試程序的PID.如果你的程序是一個服務程序,那麼你可以指定這個服務程序運行時的進程ID。gdb會自動attach上去,並調試他。program應該在PATH環境變數中搜索得到。
5、啟動程序之後,再啟動gdb調試
$gdb <PID>
這里,程序是一個服務程序,那麼你可以指定這個服務程序運行時的進程ID,<PID>是要調試程序的PID.這樣gdb就附加到程序上了,但是現在還沒法查看源代碼,用file命令指明可執行文件就可以顯示源代碼了。
❸ 如何查看linux是否安裝了gdb
打開命令終端面板輸入:sudo apt-get install gdb
如圖所示:
即可安裝,如果還是不可以,那就使用下面這種方式安裝:
打開終端輸入: wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz
下載完畢後解壓 tar -zxvf /gdb-7.9.tar.gz 然後進行安裝即可
檢測安裝沒有的話使用命令:
apt-get list
❹ 我的linux操作系統沒有gdb命令,請問怎麼安裝gdb命令呢
yuminstallgdb-y
❺ 虛擬機上linux GDB無法安裝,該怎麼解決
在輸入命令sudo apt-get install gdb之後,
就出現了下面這些提示信息:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
gdb-doc gdbserver
The following NEW packages will be installed:
gdb
0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded.
Need to get 2,115 kB of archives.
After this operation, 5,657 kB of additional disk space will be used.
Err http://cn.archive.ubuntu.com/ubuntu/ precise/main gdb i386 7.4-2012.02-0ubuntu2
Temporary failure resolving 'cn.archive.ubuntu.com'
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.4-2012.02-0ubuntu2_i386.deb Temporary failure resolving 'cn.archive.ubuntu.com'
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
好像是安裝失敗了,請問這是怎麼回事?難道是我Linux沒聯網?
------解決方案--------------------
明顯是樓主沒有聯網
------解決方案--------------------
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.4-2012.02-0ubuntu2_i386.deb Temporary failure resolving 'cn.archive.ubuntu.com'
檢查網路連接
沒有問題的話先sudo apt-get update
------解決方案--------------------
Temporary failure resolving 'cn.archive.ubuntu.com'
檢查網路設置,特別是DNS設置
❻ linux gdb如何安裝
建議:
1. 首先可以使用命令「 rpm -qa |grep gdb"查詢系統中是否安裝了gdb軟體包,如果安裝了,應該顯示如下:
[root@localhost ~]# rpm -qa |grep gdb
gdbm-1.8.0-26.2.1
gdb-6.8-37.el5
gdbm-devel-1.8.0-26.2.1
2. 如果系統沒有安裝gdb軟體包,需要先准備好gdb對應的軟體包,通常在系統光碟Server文件夾下;
3. 使用命令「rpm -ivh gdb-6.8-37.el5.rpm」或者類似的操作回車即可安裝;
4. 安裝結束後,再使用命令「rpm -qa |grep gdb"查詢,如果成功安裝了,應該顯示如下:
[root@localhost ~]# rpm -qa |grep gdb
gdb-6.8-37.el5
5. 如果安裝不成功,檢查一下錯誤信息,有可能是因為少安裝了一些關聯軟體,根據提示安裝即可。
❼ linux入門基礎(四)Gdb調試程序
Gdb調試
注意:在Gcc編譯選項中一定要加入
–g
退出GDB:quit
或
Ctrl+d
調試過程:
1.
查看文件
命令:
(gdb)
l
命令:(gdb)
b
行號
註:到第17行停止,並沒有執行17行
3.
查看斷點情況
info
b
4.
運行代碼
r
命令:
(gdb)
r
(也可以指定行開始運行,在r後面加上行號)
5.
查看變數值
p
命令:(gdb)
p
變數名
6.
設置監視點:
watch
z
(變數名)
也可以是復雜的表達式
7.
單步運行
命令:(gdb)
n
(逐過程)
8.逐步,會進入函數
命令:(gdb)
s
9.條件斷點
將正常斷點轉變為條件斷點:condition
如:condition
1
i
==
10
只有當滿足條件i
==
1時,才會在斷點1處暫停
10.
恢復程序運行
c
命令:
(gdb)
c
(程序就會運行,如果沒有斷點,就運行剩下部分,如果有斷點,就會運行到下一個斷點)
11.
去除斷點
clear
line_number
clear
filename:line_number
12.
help
12.1
help找出類別
12.2help從列表中
❽ 我的linux操作系統沒有gdb命令,請問怎麼安裝gdb命令呢
yum install gdb -y
❾ 如何在centos7上安裝最新的gdb
打開命令終端面板輸入:sudo apt-get install gdb
如圖所示:
即可安裝,如果還是不可以,那就使用下面這種方式安裝:
打開終端輸入: wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz
下載完畢後解壓 tar -zxvf /gdb-7.9.tar.gz 然後進行安裝即可
檢測安裝沒有的話使用命令:
apt-get list
❿ gcc中怎麼使用gdb命令
在linux系統中,默認是沒有安裝gcc編譯器的,可以通過命令
rpm -q | grep gcc
來查看。安裝命令為:
yum -y install gcc
安裝後,編寫一個.c結尾的文件。
gcc test.c
就會默認輸出一個a.out的輸出文件,這個輸出文件就是可執行文件。
如果加上-o選項,則可以自定目標文件。
gcc -o test test.c
test就是它的可執行文件。
一般都默認加上-Wall 選項,可以自動提示一些出錯警告的信息。
gcc -Wall -o test test.c
gbd
以上就是常用的gcc相關知識了。下面就是它的調試,調試通常使用gdb。在編譯的時候需要加上選項-ggdb3選項
gcc -ggdb3 -Wall -o test test.c
這樣在沒有出錯的情況下
gdb test
就進入調試窗口
輸入下面命令可以進行如下的操作:
break 設置斷點
break 21 在第21行設置斷點
break main 在main函數處設置斷點
break test 在函數test處設置斷點
step / s 下一步,直接執行下一條程序
continue / cont 下一段,如果遇到函數,不會進入函數,逐過程,有點類似VS裡面的F10
run 運行
finish 結束調試
tbreak設置臨時斷點
print / p 顯示某個變數的值
p *array@len 輸出數組
p i 輸出i的值
enable 恢復失效的斷點
disable 使斷點失效
clear 清除斷點
backtrace / bt 查看堆棧信息
相關的輸出格式
x 十六進制格式
d 十進制格式
u 十六進制無符號
o 八進制顯示
t 二進制顯示
a 十六進制顯示
c 字元格式顯示
f 浮點數格式顯示