PostgreSQL的除錯攻略

2021-04-03 00:03:14 字數 1336 閱讀 9948

需要軟體:

首先當然是 postgresql的源**, 這個可以去

www.postgresql.org

上面down,現在最新應該是8.1.3,我當前用的是8.1.1版本; 另外編譯開發包當然不能少,這個根據各個linux不同版本來獲得(apt-get或者rpm包),當然在絕大部分的系統上都已經預設安裝;還有ddd也是必須的,這個是圖形化的gdb,對新手來說還是先從圖形開始要好點.

步驟:1.顯而易見,我們第一步的任務是編譯postgresql源**,將壓縮的源**解壓縮,具體怎麼做就不用我說了吧,解壓縮後的資料夾是postgresql-8.1.1.進入該資料夾後首先要執行的是configure,用於產生makefile檔案,執行命令

./configure --enable-debug --enable-assert --without-readline --without-zlib

注意這裡的 --enable-debug關鍵,它開啟gcc的 -g選項,用於產生除錯程式需要的符號,--enbale-cassert用於開啟assert的選項,也是用於除錯.至於 --without-readline --without-zlib,可以不加,通常的系統都不支援readline和zlib,所以如果configure過不去,看提示來決定是不是需要加上這兩項.

ok,下一步就是編譯了,這很簡單,只需要簡單的敲入make命令,就等著系統慢慢編譯吧,通常是5-10分鐘時間,如果系統差點時間可能就要長點.

這一步完成後就等著安裝了,同樣很簡單,make install即可搞定.

預設情況下,會裝到/usr/local/pgsql/目錄下,到此為止,安裝的任務完成.

2. 看系統有沒有postgres組和 postgres使用者,如果沒有,需要用超級使用者來建立改組和使用者,因為啟動資料庫需要postgres使用者,注意這裡超級使用者不行.然後你需要建立乙個資料夾用於存放資料檔案,建議放在/usr/local/pgsql下,不過不是必須,該資料夾的使用者和組必須是postgres.

接下裡,執行命令:

initdb -d 資料資料夾

用於初始化資料庫模板template0和一起其他的資料庫檔案.

3. 下面就可以執行ddd了.

ddd /usr/local/pgsql/bin/postgres &

哈哈,是不是視窗出來了,裡面還有原始碼.

然後program->run,在彈出的視窗裡的 run with arguments裡填入test,然後回車.

再看下面的框,出現

postgresql stand-alone backend 8.1.1

backend>

到此為止,我們任務完成,至於ddd的詳細除錯過程待以後再來討論或者大家自行查詢幫助文件.

gdb除錯簡單攻略

a gdb 程式名稱 開啟gdb除錯程式。b gdb break 16 設定斷點,在源程式第16行處。breakpoint 1 at 0x8048496 file tst.c,line 16.gdb break func 設定斷點,在函式func 入口處。breakpoint 2 at 0x8048...

Linux下除錯PostgreSQL資料庫

準備原始碼包為 postgresql 9.4.1.tar.gz 作業系統 ubuntu 14.04 x64 server 解壓原始碼包 tar zxvf postgresql 9.4.1.tar.gz cd postgresql 9.4.1 configure enable debug withou...

除錯LwIP攻略(keil版)

1 首先看看之前寫的在keil中重定向printf輸出到視窗列印資訊,從而避免了連線串列埠列印到上位機才能 除錯資訊 附上 2 lwip需要開啟debug.h 在 ifdef lwip debug一行上加上 define lwip debug 編譯後會出錯,即 開啟debug後 編譯出錯問題 def...