2016-03-29 4 views
0

私はemacs lispで関数をトレースしようとしています。 trace-functionと友だちを使用しようとしていますが、トレースは生成されません。 *trace-output*バッファが作成されますが、何も書き込まれません。ここで elisp `trace-function`がトレースを生成しない

は、問題の最小限の例です:

(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*のいずれかに書き込まれるトレースしません。 私は上記の3つのトレース関数のそれぞれを成功せずに試しました。

何か間違っていますか? トレース情報を生成するにはどうすればよいですか?

+0

あなたのテストは、私が(emacsの-24.4 -Q' 'で)それをしようとすると動作しますので、不足しているいくつかの情報があるようです:)知られるに値するだろう。 – Stefan

+0

@Stefan私は25歳ですが、私は 'emacs -Q'でテストしました。実際の質問は、パッケージや設定が' function-trace'を妨げることが知られているものです:( –

+0

私はいくつかのパッケージ私はカスタマイズを重視していません。主にカスタマイズオプションを使用しています。 –

答えて

0

パッケージtrace.elは、グローバル変数inhibit-traceを定義します。グローバル変数は、最初はゼロです。 ただし、デバッガを明示的に終了するまで、デバッガの設定はinhibit-trace't、 のままです。 *Backtrace*バッファを単に閉じるだけでは、デバッガは終了しません。

私の問題は、以前私のsesionでデバッガに入り、明示的に終了しないということでした。

この動作は、より良い

関連する問題