Emacs高级调试方法

懒猫,问下,怎么打印当前edebug所停留位置的值?最好是完整打印到一个temp buffer(尤其是显示特别长的结果的值)。 我知道 按 r 能打印结果,结果的print长度可以通过 eldoc-print-leveleldoc-print-length 设置。我在 edebug-inline-result 里面已经设置了这个,但是还是想要能够打印到一个temp buffer。

谢谢,不过 inhibit-modification-hooks 的值在 debug 前和 debug 中都已经是 nil 了。

那你可以试试关闭font-lock-mode,可能还需要关闭jit-lock-mode。

谢谢,应该大概就是这个 font-lock-mode 造成的原因了。

上图 (message date) 就是出错的地方,但是继续 d 之后会进入到 evil 引入的函数(关于 evil 是我猜的)

因为这是我第一次 debug ,所以就是想请教一下如何避免这些其他 mode 引入函数问题(或者说我举例的那种问题不是普遍存在的?)。

emacs -q 无疑是最好的方法,但是 -q 之后操作很不方便。还是说可以像 redguardtoo 那样写一个 -q 后加载一些方便操作的插件。

(我觉得现在的讨论有点偏离主题了,帖子本意是传授方法,而我们的讨论似乎又集中于某个具体问题,把回复的帖子移到另一个主题里更合适,不知道你怎么看)