[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01979] デバッグの小知恵



山本です。

info.el の移植でやってた小ネタです。

(defvar debug-trace-count 0)
(defun debug-print (db-string &optional element1 element2)
  (let ((buf (selected-buffer)))
    (switch-to-buffer "*Debug Output*")
    (insert (format nil "~5D: ~A ~A\t~A ~A ~A\n" debug-trace-count buf (point)
		    db-string element1 element2))
    (setq debug-trace-count (1+ debug-trace-count))
    (set-buffer buf)))

というのを用意しておいて、

(debug-print "<hogehoge start> " arg1 arg2)

のようなのを適当なところに埋めておきました。

C言語で苦し紛れにやる

#indef DEBUG
printf("hogehoge");
#endif

みたいなもんです。

xyzzy の本体で上のもっとまともな奴と、関数呼び出しのトレース表示
が出来れば大規模なプログラムのデバックも可能になるんですが、如何
でしょう?

-- 
山本真二   sinj@xxxxxxxxxxxx

Index Home