Linux編程工具用 gdb 調(diào)試 GCC 程序
Linux編程工具包含了一個叫 gdb 的 GNU 調(diào)試程序. gdb 是一個用來調(diào)試 C 和 C++ 程序的強力調(diào)試器. 它使你能在程序運行時觀察程序的內(nèi)部結(jié)構(gòu)和內(nèi)存的使用情況. 以下是 gdb 所提供的一些功能:
它使你能監(jiān)視你程序中變量的值.
它使你能設(shè)置斷點以使程序在指定的代碼行上停止執(zhí)行.
它使你能一行行的執(zhí)行你的代碼.
在命令行上鍵入 gdb 并按回車鍵就可以運行 gdb 了, 如果一切正常的話, gdb 將被啟動并且你將在屏幕上看到類似的內(nèi)容:
- GNU gdb 5.0
- Copyright 2000 Free Software Foundation, Inc.
- GDB is free software, covered by the GNU General Public License, and you are
- welcome to change it and/or 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.
- This GDB was configured as "i386-redhat-linux".
- (gdb)
當你啟動Linux編程工具 gdb 后, 你能在命令行上指定很多的選項. 你也可以以下面的方式來運行 gdb : gdb
當你用這種方式運行 gdb , 你能直接指定想要調(diào)試的程序. 這將告訴gdb 裝入名為 fname 的可執(zhí)行文件. 你也可以用 gdb 去檢查一個因程序異常終止而產(chǎn)生的 core 文件, 或者與一個正在運行的程序相連. 你可以參考 gdb 指南頁或在命令行上鍵入 gdb -h 得到一個有關(guān)這些選項的說明的簡單列表.
Linux編程工具gdb 為調(diào)試編譯代碼(Compiling Code for Debugging)
為了使 Linux編程工具gdb 正常工作, 你必須使你的程序在編譯時包含調(diào)試信息. 調(diào)試信息包含你程序里的每個變量的類型和在可執(zhí)行文件里的地址映射以及源代碼的行號. gdb 利用這些信息使源代碼和機器碼相關(guān)聯(lián).
在編譯時用 -g 選項打開調(diào)試選項.
gdb 基本命令
gdb 支持很多的命令使你能實現(xiàn)不同的功能. 這些命令從簡單的文件裝入到允許你檢查所調(diào)用的堆棧內(nèi)容的復(fù)雜命令, 表27.1列出了你在用 gdb 調(diào)試時會用到的一些命令. 想了解 gdb 的詳細使用請參考 gdb 的指南頁.
命 令 描 述
file 裝入想要調(diào)試的可執(zhí)行文件.
kill 終止正在調(diào)試的程序.
list 列出產(chǎn)生執(zhí)行文件的源代碼的一部分.
next 執(zhí)行一行源代碼但不進入函數(shù)內(nèi)部.
step 執(zhí)行一行源代碼而且進入函數(shù)內(nèi)部.
run 執(zhí)行當前被調(diào)試的程序
quit 終止 gdb
watch 使你能監(jiān)視一個變量的值而不管它何時被改變.
print 顯示表達式的值
break 在代碼里設(shè)置斷點, 這將使程序執(zhí)行到這里時被掛起.
make 使你能不退出 gdb 就可以重新產(chǎn)生可執(zhí)行文件.
shell 使你能不離開 gdb 就執(zhí)行 UNIX shell 命令.
文章轉(zhuǎn)載自網(wǎng)管網(wǎng):http://www.bitscn.com/os/linuxbc/201005/186755_2.html
【編輯推薦】