makefile、gdb使用記錄

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   檔案   

makefile的模板
all:    rover server stationrover:  rover.c tcputil.o    gcc rover.c tcputil.o -o rover -lpthreadserver: server.c tcputil.o    gcc server.c tcputil.o -o server -lpthreadstation:station.c tcputil.o    gcc station.c tcputil.o -o station -lpthreadtcputil:tcputil.c     gcc tcputil.c -c -lpthread.PHONY: cleanclean:    rm -f *.o rover server station

- 引號後面的檔案代表需要的材料

- .PHONY:指令聲明,虛檔案

GDB的使用

1、要調試C/C++的程式,首先在編譯時間,我們必須要把調試資訊加到可執行檔中。使用編譯器(cc/gcc/g++)的 -g 參數可以做到這一點。如:

    > gcc -g hello.c -o hello
    > g++ -g hello.cpp -o hello

 

2、啟動GDB的方法有以下幾種:

 

    a、gdb <program> 
       program也就是你的執行檔案,一般在當然目錄下。

 

    b、gdb <program> core
       用gdb同時調試一個運行程式和core檔案,core是程式非法執行後core dump後產生的檔案。

 

    c、gdb <program> <PID>
       如果你的程式是一個服務程式,那麼你可以指定這個服務程式運行時的進程ID。gdb會自動attach上去,並調試他。program應該在PATH環境變數中搜尋得到。

3、gdb -help

4、指令表

(gdb) l

l命令相當於list,從第一行開始例出原碼

(gdb) 直接斷行符號表示,重複上一次命令
(gdb) break 16 設定斷點,在來源程式第16行處
(gdb) break func 設定斷點,在函數func()入口處
(gdb) info break 查看斷點資訊
(gdb) r  運行程式,run命令簡寫
(gdb) n  單條語句執行,next命令簡寫
(gdb) c  繼續運行程式,continue命令簡寫
(gdb) p i  列印變數i的值,print命令簡寫
(gdb) bt  查看函數堆棧
(gdb) finish  退出函數
(gdb) q 退出gdb

 

 

x  按十六進位格式顯示變數。
    d  按十進位格式顯示變數。
    u  按十六進位格式顯示無符號整型。
    o  按八進位格式顯示變數。
    t  按二進位格式顯示變數。 
    a  按十六進位格式顯示變數。
    c  按字元格式設定顯示變數。
    f  按浮點數格式顯示變數。

        (gdb) p i
        $21 = 101    
        
        (gdb) p/a i
        $22 = 0x65
        
        (gdb) p/c i
        $23 = 101 ‘e‘

 (摘自http://blog.csdn.net/haoel/article/details/2879)

DDD:帶圖形介面的Debugger

ddd在ubuntu下的安裝:sudo apt-get install ddd

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.