本文介绍了如何调试defadvice的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何解决涉及到defadvice的错误?

How can you go about debugging an error with a defadvice involved?

搜索解决方案我发现,由于调试困难,建议不要使用defadvice。对此表示赞同,但其他国家的缺点到处都是,而且我总是遇到甚至无法开始追踪的错误。

Searching for solutions all I can find is recommendations not to use defadvice because of the debugging difficulties. Amen to that, but other peoples defadvices are everywhere and I'm always running into bugs I can't even begin to track down.

推荐答案

我可能想到的另一件事:

One more thing I could think of:


  1. 临时重命名 defadvice 转换为 defadvice-old

编写此新版本的 defadvice







(defmacro defadvice (function args &rest body)
  `(progn
     (put ',(cadr args) 'source-position
          (cons byte-compile-current-file byte-compile-read-position))
     (defadvice-old ,function ,args ,@body)))




  1. 一旦需要,请检查(符号-plist<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>它将在使用宏的文件中的位置。

这篇关于如何调试defadvice的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 14:56