gdb除錯程式
1要使用gdb除錯程式,在編譯的時候需要在編譯的時候將除錯資訊加到可執行檔案中(cc,gcc,g++)的-g引數可以做到。
gcc -g hello.c -o hello
2.啟動gdb的方法有幾種
1)gdb hello [hello為執行程式名字]
2)gdb hello core [hello為執行程式名字,core為程式異常時產生的core dump檔案]
3)gdb hello pid 【將hello attach到pid程序上進行除錯】
3.啟動gdb後,可以使用list 或者l命令檢視程式原始碼
4.啟動以後可以設定斷點
1)break 【可以簡寫成b】 10 (在程式的第10行設定斷點)
2)break main(在main function設定斷點)
3)clear 10 (清除10行處的break)
4)clear fun(清除fun處的斷點)
5)info break 列出當前所有斷點資訊
6.gdb裡面同樣可以輸入部分字元 按tab補全命令或者是方法名
7.b gameserver.cpp:165
5.設定好斷點之後,在啟動程式之前,可能對於某些程式,需要給程式傳遞命令列引數:
1)可以用命令set args指定命令列引數:set args 10 20 30....
2)show args命令可以顯示當前設定好的命令列引數
6.設定好所有的斷點以後,可以 執行r命令執行程式,程式會在斷點的地方break
7.執行到斷點後,可以用p命令列印變數值 p f列印變數f的值 可以使用 p f=12來設定f的值
8.執行到斷點以後,n命令單步執行[類似於vs的f10],s命令進入某個function,類似於vs的f11,c命 令繼續往下執行,類似於vs的f5,finish命令跳出當前function
9.info locals [貌似前面這個才有用,後面的都沒用]info frame[info args]顯示當前函式棧上所有變數及值
GDB除錯程式
gdb的三個功能 1 啟動被除錯的程式 2 設定斷點 3 設定斷點之後可以檢查程式的狀態 1.編譯生成可執行檔案 注意 g 除錯選項 gcc g tst.c o tst 2.啟動gdb gdb tst 3.在main函式處設定斷點 break main 4.執行程式 run5.利用 更加豐富的 gd...
gdb除錯程式
除錯是每個程式設計師都會面臨的問題.如何提高程式設計師的除錯效率,更好更快地定位程式中的問題從而加快程式開發的進度,是大家共同面對的問題.可能windows使用者順口就會說出 用vc唄 它提供了設定斷點,單步跟蹤等的圖形介面,使除錯起來直觀易用.但linux使用者可能要生悶氣了 o 難道我們linu...
GDB除錯程式
gdb是gnu發布的一款功能強大的程式除錯工具。主要功能 1.啟動被除錯程式。2.讓被除錯程式在指定位置停住。3.當程式被停止時,可以檢查程式狀態 如變數值 編譯生成可執行程式一定要加 g選項 gcc g test.c o test 啟動gdb gdb 可執行程式名 gdb test 在main函式...