簡介

因為大多數環境都是linux ,操作平台不同,部分編譯的源碼也會有些差異,但是直接在linux中使用vi、view等工具查看代碼,太過於古老,Clion有一個遠程開發模式,可以進行遠程view、debug、 pid attach 等工具。對於源碼觀察比較方便。

PG安裝

在虛擬機中源碼安裝PG

./configure --enable-debug --prefix=/home/postgres/pg16/prebuild CFLAGS=-O0 --with-python --with-systemd --enable-coverage --enable-profiling --enable-depend -enable-cassert
make -j4 world && make install-world
su - postgres
mkdir -p /home/postgres/pg16/prebuild/data
initdb -k -D /home/postgres/pg16/prebuild/data

上述關鍵的參數--enable-debug CFLAGS=-O0 其他的隨意

Clion配置

打開Clion的遠程開發模式

然後選ssh 配置對應的ssh通道,並選擇對應的PG源碼目錄

再開打開配置對應的工具鏈

定義Build Target ,我們安裝完PG之後這裏實際是不需要配置build工具,但是clion打開工程需要有個target

使用Clion 的遠程模式打開PG的源碼目錄,然後點Edit Configurations

選擇Custom Build Application

Target  選擇你我們上面配置的Build Target
Exceutable  選擇bin下的postgres

環境變量 : 選擇PG對應的環境便是   如: 

LD_LIBRARY_PATH=/home/postgres/pg16/prebuild/lib;PGDATA=/home/postgres/pg16/prebuild/data;PGPORT=5432

此時虛擬機的PG需要停掉,直接在Clion 中點擊運行即可,便可繼續PG啓動的整個調用鏈路觀察。也可以打斷點。