iMacのEmacsでEmacsをデバッグした話
いまだにCarbon Emacsを使っていて、Cocoa Emacsに乗り換えようとしてるんだが、いくつか問題点があってまだ移れていない。ひょっとしてデバッグしたら何かわかるかも? と思い立ってやってみた。
まずはemacs-23.4のビルドから。Emacsのシェルからビルドかけるとエラーになる。調べてみると一部の環境変数をunsetしないといけないらしい。(4行目)
curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.4.tar.gz tar xvfz emacs-23.4.tar.gz cd emacs-23.4 unset EMACSAPP EMACSDATA EMACSPATH EMACSDOC INSIDE_EMACS EMACSLOADPATH ./configure --with-ns --without-x make make install
続いてEmacsからgdb起動。gdbの引数に--annotate=3のオプションを付けておくとgdbのバッファの他にソースコードのバッファを自動で開いてくれたりする。
M-x gdb Run gdb (like this): gdb --annotate=3
Emacsの中のgdbからEmacsを起動するとエラーになるので、ビルドと同じように一部の環境変数をunsetしておいた。
(gdb) unset env EMACS (gdb) unset env EMACSAPP (gdb) unset env EMACSDATA (gdb) unset env EMACSPATH (gdb) unset env EMACSDOC (gdb) unset env INSIDE_EMACS (gdb) unset env EMACSLOADPATH (gdb) file emacs-23.4/nextstep/Emacs.app/Contents/MacOS/Emacs (gdb) break main (gdb) run
とかやると、main関数の先頭でブレーク停止してくれる。あとは焼くなり煮るなりご自由に。gudのメニューとか見ると、もっといろいろできるみたい。(省略)
とかいいつつ、まだ自分の問題も解決できてない。さぁデバッグ♪デバッグ♪
参考サイト:cocoa emacs のインストール