我正在尝试跟踪emacs lisp中的一个函数。我正在尝试使用trace-function
和朋友,但没有产生任何痕迹。 *trace-output*
缓冲区已创建,但不会写入任何内容。
以下是问题的最小示例:
(progn
(require 'trace)
(untrace-all)
(defun f () 'hello)
;(trace-function 'f)
;(trace-function-background 'f)
(trace-function-foreground 'f)
(f))
从*scratch*
内执行此操作会返回'hello
,但不会将跟踪信息写入*trace-output*
或*scratch*
。
我已经尝试过上面三个跟踪函数中的每一个都没有成功。
我做错了吗? 如何获得跟踪信息?
答案 0 :(得分:2)
包trace.el定义全局变量inhibit-trace
,最初为零。
但是,输入调试器集inhibit-trace
到't
,
在调试器明确退出之前一直有效。
只需关闭*Backtrace*
缓冲区就不会退出调试器。
我的问题是我之前在我的sesion中输入了调试器而没有明确地退出它。
这种行为应该更为人所知:)