19.1.3 调试无限循环

当程序陷入无限循环且无法返回时,首先需要停止该循环。 在大多数操作系统中,你可以使用 C-g 触发退出(quit)。 See Quitting

常规的退出操作无法提供程序陷入循环的原因。 要获取更多信息,可将变量 debug-on-quit 设为非nil。 当调试器在无限循环中启动后,你可以使用单步命令继续调试。 如果逐步执行完整个循环,你可能会获得足够的信息来解决问题。

使用 C-g 退出不被视为错误, debug-on-errorC-g 的处理无影响。 同理,debug-on-quit 对错误也无影响。

User Option: debug-on-quit

该变量决定在 quit 信号被触发且未被处理时是否调用调试器。 如果 debug-on-quit 为非nil, 则每次退出(即按下 C-g)都会调用调试器。 如果 debug-on-quitnil(默认值), 退出时不会调用调试器。

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© 2025 Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike