由於工作關係,需要除錯postgresql原始碼,恰好同事寫了這樣乙個文件,貼出來共享。
在linux下面除錯postgres,需要進行如下幾個步驟:
1. 安裝linux作業系統
注意把gdb、emacs或ddd這些開發工具都安裝上。如果是在虛擬機上安裝,依然需要設定linux系統的網路環境;另外需要設定檔案共享,方便windows下面的postgresql原始碼能在linux下面訪問到。
2. 安裝postgresql
useradd postgre
(自動建立 postgre 組;設計人員為了安全考慮,postgresql 不能以root 使用者執行,所以必須建立對應的使用者和組。)
解壓到 /usr/local/src
tar xvfz postgresql-8.4.tar.gz
cd postgresql-8.4
./configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib
make
make install
chown -r postgre.postgre /usr/local/pgsql
3. 設定postgres環境變數(非必須)
vi ~postgre/.bash_profile
新增:
pglib=/usr/local/pgsql/lib
pgdata=$home/data
path=$path:/usr/local/pgsql/bin
manpath=$manpath:/usr/local/pgsql/man
export pglib pgdata path manpath
4. 建立資料庫
以 postgres 使用者登入:
su postgre
建立資料庫目錄:
mkdir data
啟動資料庫引擎:
initdb –d 「資料庫目錄」
之後可以根據提示,通過psql進入資料庫
5. 構造postgresql除錯環境
先 psql template1進去,然後
select pg_backend_pid();
獲得id,就是gdb後面用到的數字
gdb /usr/local/pgsql/bin/postgres 997(pid的數字)
如果只使用gdb,全部是命令列介面;而emac、ddd分別是彩色、黑白使用者互動式圖形介面。
6. 使用gdb進行除錯
VS2008如何在release下除錯
分類 c c 綜合 2013 01 16 21 52 1274人閱讀收藏 舉報一般都是在debug下除錯程式,但有時候,為了加快除錯速度,或者debug版本由於庫的缺失,編譯不過,需要在release下進行除錯。的除錯相關的資訊存在pdb中,裡面包括了 的名稱和行數,還有函式的位址,偏移等,通過pd...
Linux下除錯總結
感覺linux環境下段錯誤的產生原因及除錯方法小結寫的不錯,列舉了幾個主要的除錯方式。有幾點補充 1.在使用core dump的時候,關於開啟 關閉生成core檔案的命令 ulimit c unlimited 使core檔案大小沒有限制。ulimit c 0 限制core檔案大小為0,即不產生cor...
linux下除錯python程式
之前除錯python程式都是用print引數,感覺有點弱爆啊,最近發現python也有類似c語言gdb的工具pdb,記錄下pdb的使用方法和心得。先找了段簡單的測試程式 usr bin python from ftplib import ftpimport sysimport socket impo...