程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> GDB常用調試命令,gdb調試

GDB常用調試命令,gdb調試

編輯:C++入門知識

GDB常用調試命令,gdb調試


在程序編譯時增加-g選項以支持gdb調試

如:

$ gcc -g example.c -o example.x

通過上述命令對example.c編譯之後,使用下列命令進入到gdb調試:

$ gdb example.x

在gdb調試中,常用的命令有以下幾個:

$ list 縮略為 l

列出程序源碼,每次列出10行,按回車重復運行上一命令;

$ run 縮略為 r

程序開始運行,在r後可以加入程序啟動參數,程序運行到斷點處暫停;

$ continue 縮略為 c

程序繼續運行,到下一斷點處暫停;

單步調試

$ step 縮略為s

$ next 縮略為 n

程序繼續運行到下一斷點;

$ break 縮略為 b

在程序某一位置設置斷點;

$ info break 縮略為 i b

查看斷點信息;

設置/查看運行參數

$ set args ---/show args

加載運行中的進程進行調試(Attach to the running process to be debugged.):

$ gdb attatch pid

Specifying source directories

$ dir dirname …

以十六進制輸出內存塊數據

$ x/28hx ---

段錯誤調試,core文件樣例

通過ulimit命令查看一下系統是否配置支持了dump core的功能。通過ulimit -c或ulimit -a,可以查看core file大小的配置情況,如果為0,則表示系統關閉了dump core;可以通過ulimit -c unlimited來打開。若發生了段錯誤,但沒有core dump,是由於系統禁止core文件的生成。

$ gdb [exec file] [core file]

查看堆棧信息:

$ bt

PS:對於python程序在linux下可以使用pdb做調試!

Published by Windows Livewriter.


linux中gdb調試器中的 l 命令 有些用法不太明白

很多,但是通用的命令基本都一樣;了解Linux的目錄基本結構,怎麼給各種硬件命名的(當初我才接觸Linux的時候就被它對硬盤分區的命名規則搞暈了),了解用戶是怎樣通過Linux內核跟硬件打交道的;還可以找個Linux的發行版如現在比較火的Ubuntu等熟悉下怎麼配置它的各種服務;然後如果是你以後從事在Linux下的開發工作,那麼可以學習在Linux系統下面編程,C/C++等等,掌握編譯器GCC/G++,調試器GDB的基本用法,學習寫Makefile管理你的工程等等;推薦幾本書:《Linux標准學習教程》(雖然是針對Red Hat Enterprise Linux 4講的,但是前面我說過,基本命令都差不多,配置文件有些地方各個發行版不一樣)、《UNIX/Linux編程實踐教程》(即Understanding UNIX/Linux Programming)、《UNIX環境高級編程》(即Advanced Programming In The UNIX Environment)。前兩本入門用,現在我才看到第二本,最後一本還沒看過,特別厚,評價都說很經典!然後你再想學就自己找個方向學吧,比如應用層開發,驅動層開發,內核研究等。最後祝你成功!
另外,站長團上有產品團購,便宜有保證
 

在linux環境下編程時,使用GDB調試,采用s命令單步調試,但是例如有printf函數,會進入,用什命令返回到

finish
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved