Solaris 模块调试器指南

内嵌编辑

如果标准输入是终端设备,则 MDB 将提供一些简单的 emacs 样式工具,以用于 编辑命令行。在编辑模式下使用 searchpreviousnext 命令可访问历史记录列表。搜索时仅匹配字符串而不匹配模式。在以下列表中,控制字符的符号为插入记号 (^) 后跟一个大写字符。转义序列的符号为 M- 后跟一个字符。例如,M-f(读作 meta- eff)是通过按下 <ESC> 再按下 'f' 输入的,或者在支持 Meta 键的键盘上按下 Meta 再按下 'f' 输入。命令行是使用回车符或换行符提交和执行的。编辑命令包括:

^F

将光标前(右)移一个字符。

M-f

将光标前移一个字。

^B

将光标后(左)移一个字符。

M-b

将光标后移一个字。

^A

将光标移至行首。

^E

将光标移至行尾。

^D

如果当前行不为空,则删除当前字符。如果当前行为空,则 ^D 表示 EOF 并且调试器将退出。

M-^H

(Meta-backspace 组合键)删除前一个字。

^K

删除从光标到行尾的内容。

^L

重新列显当前行。

^T

将当前字符与下一个字符换位。

^N

从历史记录中提取下一个命令。每次输入 ^N 后,检索时间靠前的下一个命令。

^P

从历史记录中提取上一个命令。每次输入 ^P 后,检索时间靠后的下一个命令。

^R[string]

在历史记录中向后搜索包含字符串的上一个命令行。该字符串应该以回车符或换行符结尾。如果省略字符串,则将检索包含最新字符串的上一个历史记录元素。

编辑模式还会将以下用户定义的序列解释为编辑命令。可以使用 stty(1) 命令读取或修改用户定义的序列。

erase

用户定义的删除字符(通常为 ^H 或 ^?),用于删除上一个字符。

intr

用户定义的中断字符(通常为 ^C), 用于异常中止当前命令并列显新提示。

kill

用户定义的中止字符(通常为 ^U), 用于中止整个当前命令行。

quit

用户定义的退出字符(通常为 ^\), 退出调试器。

suspend

用户定义的暂停字符(通常为 ^Z), 用于暂停调试器。

werase

用户定义的字删除字符(通常为 ^W),用于删除前一个字。

在支持 带方向键的扩展小键盘的键盘上,mdb 会将这些击键解释为编辑命令:

向上方向键

从历史记录中提取上一个命令(与 ^P 相同)。

向下方向键

从历史记录中提取下一个命令(与 ^N 相同)。

向左方向键

将光标后移一个字符(与 ^B 相同)。

向右方向键

将光标前移一个字符(与 ^F 相同)。