当前位置:  开发笔记 > 运维 > 正文

在正在运行的Emacs Lisp程序上设置断点

如何解决《在正在运行的EmacsLisp程序上设置断点》经验,为你挑选了1个好方法。

我遇到了从ubuntu发行版中删除的Emacs lisp包的问题.包是JDEE,每当我打开文件时,它都会Args out of range: "63", 0, 4在迷你缓冲区和*Messages*缓冲区中出现问题.该错误似乎已于去年9月报告,但未采取任何措施.我不是一个emacs新手,自己编写了一些Elisp代码,但我从来没有尝试过调试这样的东西.我想在发生此错误时停止调试器中的文件加载,至少可以了解问题的来源.我读过的"在错误进入调试器",但试图与价值观的不同组合打后,要将文件加载的elisp手册第18.1.1 debug-on-error,debug-ignored-errorsdebug-on-signal似乎没有任何效果.有人对我的下一步有任何建议吗?



1> Trey Jackson..:

如果debug-on-error不起作用,我将从源本身开始.找到导致问题的键绑定/事件,然后找到该功能.

C-h k 
M-x find-function 

现在,一旦你在源头

M-x edebug-defun

下次按键时,您应该可以逐步完成该程序.此时,您可以看到哪个部分导致错误 - 并向下钻取.

你也可以尝试设置变量'stack-trace-on-error,看看你是否能找到罪魁祸首(虽然'debug-on-error通常对我有用,但不确定为什么它不适合你).

作为最后的手段(如果edebug-defun不起作用),你可以通过调用(debug)它来重新定义例程,也可以这样做.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有