在程序編譯時增加-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的目錄基本結構,怎麼給各種硬件命名的(當初我才接觸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)。前兩本入門用,現在我才看到第二本,最後一本還沒看過,特別厚,評價都說很經典!然後你再想學就自己找個方向學吧,比如應用層開發,驅動層開發,內核研究等。最後祝你成功!
另外,站長團上有產品團購,便宜有保證
finish