debugger

debugger.txt 适用于 Vim 9.2 版本。 最近更新: 2020年1月 VIM 参考手册 by Gordon Prieur 译者: iCrazy <icrazy@ustc.edu> 调试器支持功能 debugger-support 本文档介绍 Vim 与调试器、集成编程环境 (IPE) 或集成开发环境 (IDE) 集成的内置支 持功能。要在 Vim 终端窗口中运行调试器,参见 terminal-debugger 。 1. 调试器功能 debugger-features 2. Vim 编译选项 debugger-compilation

1. 调试器功能 debugger-features

可用内置功能如下: 备用命令输入 alt-input 调试标号 debug-signs 调试源代码高亮 debug-highlight 信息页脚 gui-footer 气泡表达式求值 balloon-eval 这些功能最初为 gvim 的 Motif 版本设计。其中, alt-inputdebug-highlight 原生同时支持 vim 和 gvim。而其余部分功能略作修改,也可在非 GUI 的 vim 上使用。 但是,开发者未做适配开发,也未对非 GUI 界面或非 Motif GUI 版本做可靠性测试。 1.1 备用命令输入 alt-input Vim 要与调试器联动,至少需要和调试器或外部工具建立输入通信通道,向 Vim 下发指 令。多数情况下,也会配套输出通道,但并非必需。 输入通道的作用是允许外部调试器向 Vim 发送命令。这些命令必须能让调试器能够完整 掌控、展示当前调试环境和程序运行状态。 当前实现基于 X 工具包中事件分发循环、依赖 XtAddInput() 函数调用实现。 1.2 调试标号 debug-signs 很多调试器常会在代码行上显示小图标或使用颜色高亮来标记特定行。Vim 的 :sign 命令可供调试器设定此类图形标记。该功能的典型用法包括,用箭头标记被调试程序的程 序计数器 (PC) 所在行。用小停止符号标记断点行。这些可视化标号可让用户直观掌握调 试运行状态。 标号功能不只局限于调试器。IPE 也可用标号高亮显示编译错误、搜索文件等。标号功能 还可与 debug-highlight 配合使用,提升视觉辨识度。 可通过 :sign 命令定义和放置调试标号。 1.3 调试源代码高亮 debug-highlight 此功能可为指定代码行设置醒目整行高亮。突出当前调试行。高亮功能在 vim 和 gvim 中都可用,而调试标号一般仅适用于 gvim。Sun Microsystem 的 dtterm 终端是个例 外,它提供了 "sign gutter" (标号槽) 功能,可原生显示标号。 1.4 信息页脚 gui-footer 信息页脚可用来显示调试器或 IPE 输出的提示信息。也可用来显示菜单和工具栏提示。 页脚区域位于 GUI 窗口底部,在命令行区域下方。 页脚显示与否,可通过 'guioptions' 中的字母 'F' 控制。 1.5 气泡表达式求值 balloon-eval 此项功能可使调试器或外部工具根据鼠标所指位置动态显示信息。虽然最初为 Sun Visual WorkShop 调试器设计,用于显示表达式计算结果。但通过通用实现,可扩展于展 示其他自定义信息。该功能的能力依然有限,如需更高级的弹出界面,参见 popup-window 。 另一种自定义气泡的方法是使用 'balloonexpr' 选项。完全由用户定义。 气泡表达式求值支持若干可设置参数。对于 Motif,可通过 X 资源 (XmNballoonEvalFontList、XmNballoonEvalBackground 和 XmNballoonEvalForeground) 配置字体列表和颜色。 选项 'balloondelay' 用于设定气泡弹出前的延迟时长。 要启动此功能,需要同时打开选项 'ballooneval' 和/或 'balloonevalterm' 选项。 {仅当编译时打开 +balloon_eval 特性,才可在 GUI 中使用气泡表达式功能,对终端 而言,需要打开 +balloon_eval_term 特性}。 工具栏显示提示也采用气泡表达式求值功能。为此,无须打开选项 'ballooneval',但是 其他配置依然生效。

2. Vim 编译选项 debugger-compilation

整套调试器功能最初为适配 Sun Visual WorkShop 集成编程环境 (IPE) 开发。但通过通 用实现,这些功能也可和其他第三方调试器对接。 以下编译时预处理宏控制对应功能开关: 备用命令输入 ALT_X_INPUT 调试标号 FEAT_SIGNS 调试源代码高亮 FEAT_SIGNS 信息页脚 FEAT_FOOTER 气泡表达式求值 FEAT_BEVAL 由于 Sun Visual WorkShop 已停产,Vim 已移除其专属支持。 如需支持 Sun NetBeans,可见 netbeans 。 vim:tw=78:sw=4:ts=8:noet:ft=help:norl: