PostgreSQL gdb debug
PostgreSQL も gdb で読むための作業です。
http://www.postgresql.org/docs/current/static/git.html
から git で落としてきます。
yacc が使われているらしいので一応インストール。
make
いつもの configure 。
そのまま、
結構時間かかります。
データベースの設定
PGDATA は PostgreSQL のデータが入るディレクトリです。
データベースの初期化から。
で、PostgreSQL を起動。
データベースを作り、PostgreSQL に接続。プロンプトが出たらやったー。
あらたにコンソールを立ち上げ、
で、PostgreSQL のプロセスを探し出す
以下のが見つかれば
プロセス番号を使って
で接続し、psql を実行したセッションで適当に SQL を打ってデバッグします。
で待つのが良いみたい。
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
で待つのが良いみたい。
コメント
コメントを投稿