PostgreSQL gdb debug

PostgreSQL も gdb で読むための作業です。

http://www.postgresql.org/docs/current/static/git.html

から git で落としてきます。

yacc が使われているらしいので一応インストール。

brew install bison


make


いつもの configure 。

configure --enable-debug --prefix=$BUILD_DIR/POSTGRESQL_BUILD


そのまま、

make
make install


結構時間かかります。

データベースの設定


PGDATA は PostgreSQL のデータが入るディレクトリです。
データベースの初期化から。

$BUILD_DIR/POSTGRESQL_BUILD/bin/initdb -D $PGDATA


で、PostgreSQL を起動。

$BUILD_DIR/POSTGRESQL_BUILD/pg_ctl -D $PGDATA -l logfile_name start


データベースを作り、PostgreSQL に接続。プロンプトが出たらやったー。

$BUILD_DIR/POSTGRESQL_BUILD/createdb test_db
$BUILD_DIR/POSTGRESQL_BUILD/psql test_db


あらたにコンソールを立ち上げ、

ps -ef | grep postgres


で、PostgreSQL のプロセスを探し出す
以下のが見つかれば

501 904 788 0 1:34PM ?? 0:00.01 postgres: USER user [local] idle


プロセス番号を使って

gdb $BUILD_DIR/BUILD_POSTGRESQL/bin/postgres
(gdb) attach 904


で接続し、psql を実行したセッションで適当に SQL を打ってデバッグします。

(gdb) until


で待つのが良いみたい。

コメント

このブログの人気の投稿

相互インクルード対策

make error "Circular"

gdb操作