08/04/12 12:23:28 5ZftulEM0
>>613
それはtoggle-trace-on-errorと同じじゃないかな?
エラーが発生したときはM-x toggle-trace-on-errorで内容を確認したりとかね。(toggle-trace-on-erroは
バイトコンパイルしていると結果が見にくいのでeval-bufferでバッファを評価してからやるとか。)
それと適当に
(defun foo ()
(interactive)
(dotimes (x 2)
(if (zerop x)
(msgbox "~A" x)
(msgbox "~A" x))))
とかして関数の途中に(msgbox "~A"変数名)などとすれば変数の値を調べることができる。
printfというのはよく分からないが関数の途中に
(save-excursion
(set-buffer "*scratch*")
(insert (format nil "~A" 変数名)))
とでもしておけば変数の値を*scratch*バッファで確認できる。
また、(step (foo))とすればステップ実行をすることもできる。(ただ途中にfletがあるとエラーになる。)
こちら(URLリンク(white.s151.xrea.com))のstepとかmsgboxを
利用したりとかね。
watch.l(URLリンク(www1.odn.ne.jp))とか、profile.l(URLリンク(homepage3.nifty.com))
とか、こちら(URLリンク(www.geocities.jp))とかもある。
特にwatch.lはグローバル変数の値を確認するのに重宝している。
デバッグ用のxyzzyをビルドするという方法(URLリンク(raido.sakura.ne.jp))もあるらしい。
自分としてはlispディレクトリや拡張lispなどを参考にしてとにかく書いてみるのがいいと思うけどね。