Debugging emacs调试器:我怎样才能跳出,跳出?

Debugging emacs调试器:我怎样才能跳出,跳出?,debugging,emacs,elisp,Debugging,Emacs,Elisp,我不知道为什么我在摸索上有这么多困难 我看到它有一个“进入”(d)的命令。但就我的一生而言,我看不到一步走出或跨过 有人能帮忙吗 如果回溯缓冲区中有此项: …我应该将光标放在哪里,键入什么键才能跳出parse-state()fn?我的意思是,运行直到fn返回,然后再次在调试器中停止 “c”和“j”的工作方式有点像是一步一步地走出来。当遇到带标记的帧(用“*”表示)时(文档说“已退出”,但调试器的行为似乎不是这样),调试器将被重新输入。当顶部框架被标记时,它们像台阶一样工作;如果不是,他们就会像跳

我不知道为什么我在摸索上有这么多困难

我看到它有一个“进入”(d)的命令。但就我的一生而言,我看不到一步走出或跨过

有人能帮忙吗

如果回溯缓冲区中有此项:


…我应该将光标放在哪里,键入什么键才能跳出parse-state()fn?我的意思是,运行直到fn返回,然后再次在调试器中停止

“c”和“j”的工作方式有点像是一步一步地走出来。当遇到带标记的帧(用“*”表示)时(文档说“已退出”,但调试器的行为似乎不是这样),调试器将被重新输入。当顶部框架被标记时,它们像台阶一样工作;如果不是,他们就会像跳出去一样工作

在您的示例backtrace中,键入其中一个将从
行开始位置进入
c-parse-state
。帧标志应该清除,因此第二次键入或第二次键入都应该退出
c-parse-state

调试时,我按?我明白了:

o               edebug-step-out
f               edebug-forward-sexp
h               edebug-goto-here

我相信o(它是
跳出
)和f(就像跳出)是你要找的,尽管我也发现h非常有用。

Hm。我个人更喜欢
调试
而不是
edebug
,但每个人都有自己的

至于
debug
,我使用
d
c
e
q

如果您确实使用了
debug
,需要记住的一点是,当您看到一个宏调用(以
#
开头)时,您可以点击
c
来展开宏——通常没有必要深入研究宏展开代码(除非您编写了宏并试图调试它)

特别是,对于
dolist
,使用
c
可以跳过两个宏扩展级别:一个用于
dolist
,另一个用于
block


HTH.

我知道你会觉得这很难相信,但我使用的是调试,不是edebug。真不一样!谢谢你的提示。@Cheeso,哈!我甚至不知道有一个
M-x调试
,直到你提出问题。你最好还是不知道。调试是不可能使用的。
o               edebug-step-out
f               edebug-forward-sexp
h               edebug-goto-here