查看/拦截所有emacs lisp函数调用

eal*_*nso 5 debugging emacs strace read-eval-print-loop

我想查看emacs会话期间所有emacs lisp函数调用的日志.

我想知道解释器究竟在做什么.如果有意义的话,如何"拦截"翻译的REPL?

使用strace,我可以附加到emacs进程并查看所有系统调用.但我需要有关哪些lisp函数实际负责的更高级别的信息.

顺便说一句,这样做的动机是调试我的emacs会话中的问题,其中emacs进程一直在监听永远不可用的套接字:

recvfrom(4, 0xbd4754, 4096, 0, 0, 0)    = -1 EAGAIN (Resource temporarily unavailable)



# netstat -p |grep 14854
unix  3      [ ]         STREAM     CONNECTED     14854    3040/emacs         
Run Code Online (Sandbox Code Playgroud)

And*_*ler 1

Elisp info手册附带一个节点

18.2.12 跟踪缓冲区

正如提到的东西依赖于 edebug,应该是一种从跟踪点到跟踪点工作并最终杀死的方法。

WRT 到日志记录,这可能已经通过trace.el 完成了trace-function

_