Che*_*eso 7 debugging emacs elisp
我不知道为什么我在为elisp调试器编写文档时遇到这么多麻烦.
我看到它有一个"步入"(d)的命令.但对于我的生活,我看不出步出或步伐.
有人可以帮忙吗?
如果我在Backtrace缓冲区中有这个:
Debugger entered--returning value: 5047
line-beginning-position()
* c-parse-state()
* byte-code("...")
* c-guess-basic-syntax()
c-show-syntactic-information(nil)
call-interactively(c-show-syntactic-information)
Run Code Online (Sandbox Code Playgroud)
...我在哪里放光标,键入什么键,退出parse-state()fn?我的意思是,运行直到fn返回,然后再次在调试器中停止.
调试时,我按下?,我看到:
o edebug-step-out
f edebug-forward-sexp
h edebug-goto-here
Run Code Online (Sandbox Code Playgroud)
我相信o(它是step-out)和f(例如 step over)是您正在寻找的东西,尽管我也发现它们h非常有用。
'c' 和 'j' 的工作方式有点像步出和步过。当遇到标记的帧(用“*”表示)时(文档说“退出”,但这似乎不是调试器的行为方式),调试器将重新进入。当顶部框架被标记时,它们的工作方式类似于跨步;如果不是,它们的工作方式就像步出一样。
在您的示例回溯中,输入任一内容都会跳出line-beginning-positioninto c-parse-state。帧标志应该被清除,因此第二次输入任何一个都应该跳出c-parse-state。