用VS2010追PostgreSQL源碼

本篇主要講述了怎麼用VS2010追PostgreSQL源碼的過程。使用的VS版本是VS 2010英文專業版,PG的版本是postgresql 9.2.2。 sql

首先第一步就是要安裝編譯好的PostgreSQL(見VS2010編譯PostgreSQL 9.2.2)。打開黑DOS窗口(運行->cmd),切換到源文件目錄postgresql-9.2.2\src\tools\msvc,以後輸入命令install 目標目錄。目標目錄是數據庫將要安裝的地址,用戶自行選定。以下圖所示: 數據庫

運行該命令後會提示Installation complete。這時已用編譯好的PG安裝成功,在目標目錄中將會出現以下目錄: 服務器

第二步就是初始化數據庫。切換到安裝目錄的bin文件夾下,執行命令initdb 數據庫存放的目錄。以下圖所示: post

以後運行命令,數據庫會自行進行初始化,初始化後以下圖所示: spa

這裏給出如何使用命令的提示,以後按照命令提示輸入postgres -D E:/PG/PG/mydb啓動服務進程,這時會出現以下圖所示的情況,表示服務器端的進程已處於監聽狀態。 .net

爲了使可以調試安裝好PG,須要在VS中配置一下,右鍵postgres工程,點擊屬性,以下圖所示: 調試

在彈出來的對話框中進行以下配置: postgresql

其中Command一欄中是想要綁定PG的postgres.exe;Command Arguments一欄填寫的是-D 數據庫的目錄名(注意D要大寫,不然有時候可能會報錯);Working Directory一欄填寫的是數據庫所在目錄。 blog

第三步,建立一個數據庫,系統自己進行初始化後含有三個數據庫。現新建立一個數據庫切換到數據庫安裝目錄的bin文件夾下並執行命令 進程

建立出一個test的數據庫。這時打開VS,找到菜單欄中Tools->Attach to Process選項。看到如今應該是有6個postgres.exe的進程,注意記錄一下這六個進程的ID。命令窗口切換到數據庫安裝目錄的bin文件夾並執行命令psql 剛剛建立的數據庫名稱,並顯示下面的結果就說明已經進入建立的數據庫中,以下圖所示:


這時再看VS的Attach to Process中應該有7個postgres.exe的進程和一個psql.exe的進程,以下圖所示:


接下來就是attach以前沒有出現過的postgres.exe的進程。到這裏就算大功快要告成了。

第四步,設置斷點。在VS找到postgres工程中的postgres.c文件(這個是psql命令的入口地方),搜索一下simple,就會看到一個大的switch語句,加個斷點,以下圖所示:

只時候在客戶端的那個命令窗口輸入命令的時候就會被VS捕獲到能夠逐步進行追代碼了,至於斷點的位置就自行添加了。

如今輸入一個命令試一下,如輸入\dt的命令,以下圖所示:

命令完成後就會跳轉到VS中設置斷點的位置。

用VS2010追PostgreSQL源碼這一講的過程就到此結束了,歡迎你們進行補充。

相關文章
相關標籤/搜索