投稿

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 で待つのが良いみたい。

MySQL gdb debug

イメージ
環境は Mac OS X です。 とりあえずダウンロード まず http://dev.mysql.com/downloads/mysql/ からソースをダウンロードしてきます。 で下記のドロップダウンリストから source code を選択してダウンロード。 .tar.gz 形式の Generic Linux でよいかと。 で、それのダウンロードが終わったら解凍します。 tar zxvf mysql-5.6.11.tar.gz 解凍後、 cd mysql-5.6.11 どこか適当なところに、bin や script が入るディレクトリと、MySQL のデータが入るディレクトリを作っておきます。 mkdir -p $BUILD_DIR/MYSQL_BUILD/MYSQL_DATA make gdb で追うため、デバッグオプションを付ける必要があります。 一つ(2つ?)のディレクトリで完結し、それ消したら「はい、さようなら」みたいな状態にしたいので、prefix の指定もします。 MySQL を make する際、最初は Makefile がありません。 別の make を使う必要があります。 brew install cmake というわけで cmake をインストール。 ついでに、構文解析器の部分も見るため、MySQL に使われている yacc のソースを追えるように、 brew install bison もやっときます。 で、cmake ですが……ようわかりません。 なのでオプションを見てみます。 cmake . -LH でオプション一覧。 とりあえず今回は、 cmake -DWITH_DEBUG:BOOL=ON -DMYSQL_DATADIR:PATH=$BUILD_DIR/MYSQL_BUILD/MYSQL_DATA -DCMAKE_INSTALL_PREFIX:PATH=$BUILD_DIR/MYSQL_BUILD WITH_DEBUG デバッグ用 gdb で読める MYSQL_DATADIR データ用のディレクトリ CMAKE_INSTALL_PREFIX make install したときに bin やら script やらが入るディレクトリ ...

fedora 18 kernel update

大切なデータが入っているならバックアップはした方がいいかと。 yum list | grep kernel sudo yum update kernel.x86_64 そして、再起動します。 それで yum からインストール可能な最新版のカーネルを使用することができます。

PostgreSQL debug

git をまず PC に入れましょう。 http://www.postgresql.org/docs/current/static/git.html を参考に、 git clone git://git.postgresql.org/git/postgresql.git で PostgreSQL のソースをゲットします。 ./configure --prefix=$HOME/置きたいディレクトリ --enable-debug で configure します。 src/Makefile.global の中身の -O2 を -O になおして、 make make install でバイナリ作成完了です。 綺麗な C で書かれていると噂の PostgreSQL を読みます。 参考 http://eleph2mano.cswiki.jp/index.php?PostgreSQL%E3%82%92gdb%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0

eclipse で同じファイルを並べる

Windows は別の方法があるようです。 Mac OS X の Eclipse JUNO では、 [Window] -> [New Editor] で同じファイルを違うタブで表示できる。

homebrew で gcc 4.5

homebrew が入っていれば、 brew search gcc brew tap homebrew/versions brew install gcc45 で、gcc-4.5 が入ります。

VMware Fusion 5 Fedora 18 install

イメージ
Fedora18 の DVD ISO を読み込みいろいろセットアップして、インストール開始します。 以下の画面で [install Fedora]を選択。 言語選択。別に英語でいいのでそのまま。 次の画面。いろいろ最初は注意マークついてますが、ちょっと時間を置くと消えます。 消えない [INSTALL LOCATION DESTINATION] を選択。 パーティションをいじる気がなければ、[continue]->[continue]でOK。 右下のボタンが押せるようになっているので、クリック。これでインストールが開始されます。その間に、ROOT PASSWORD を決めてください。 全て終わると再起動を指示されます。[REBOOT]をクリック。 再起動後はパスワードなり管理権限付与なりを決めていきます。[continue]で次へ。 そして、「さぁ、Fedora18 デビュー!!」と意気込んで……この画面から動かなくなります。出鼻くじかれます。 どうやら、VMwareFusion で起きるバグみたいです。 調べてみるとこいつが悪さしているらしい。設定の [Display] にあります。 Fedora18 を shutdown して、OFF に切り替えます。その後 Fedora18 起動。 ログイン画面登場。これで Fedora18 が使えます。VM で使う以上、そこまで意気込んでもなぁ、って感じはあるのですが。