vim使ç¨è¿é¶
vim使ç¨è¿é¶
vim使ç¨è¿é¶
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
在 vim 中 使 用 gdb 调 试<br />
sample: sample.c factor/factor.c<br />
gcc -g -Wall -o sample sample.c factor/factor.c<br />
假 设 vim 的 当 前 工 作 目 录 是 ~/tmp( 使 用 ":cd ~/tmp" 命 令 切 换 到 此 目 录 )。 我 们 编 辑 完 上 面 几 个 文<br />
件 后 , 输 入 命 令 ":make",vim 就 会 根 据 Makefile 文 件 进 行 编 译 。 如 果 编 译 出 错 ,vim 会 跳 到 第 一<br />
个 出 错 的 位 置 , 改 完 后 , 用 ":cnext" 命 令 跳 到 下 一 个 错 误 , 以 此 类 推 。 这 种 开 发 方 式 被 称 为<br />
quickfix, 我 们 已 经 在 剑 不 离 手 - quickfix 一 文 中 讲 过 , 不 再 赘 述 。<br />
现 在 , 假 设 已 经 完 成 链 接 , 生 成 了 最 终 的 sample 文 件 , 我 们 就 可 以 进 行 调 试 了 。<br />
vimgdb 补 丁 已 经 定 义 了 一 些 键 绑 定 , 我 们 先 加 载 这 些 绑 定 :<br />
:run macros/gdb_mappings.vim<br />
加 载 后 , 一 些 按 键 就 被 定 义 为 调 试 命 令 (vimgdb 定 义 的 键 绑 定 见 ":help<br />
按 可 以 在 按 键 的 缺 省 定 义 和 调 试 命 令 间 切 换 。<br />
gdb-mappings")。<br />
好 了 , 我 们 现 在 按 空 格 键 , 在 当 前 窗 口 下 方 会 打 开 一 个 小 窗 口 (command-line 窗 口 ), 这 就 是<br />
vimgdb 的 命 令 窗 口 , 可 以 在 这 个 窗 口 中 输 入 任 何 合 法 的 gdb 命 令 , 输 入 的 命 令 将 被 送 到 gdb 执 行 。<br />
现 在 , 我 们 在 这 个 窗 口 中 输 入 "gdb", 按 回 车 后 ,command-line 窗 口 自 动 关 闭 , 而 在 当 前 窗 口 上<br />
方 又 打 开 一 个 窗 口 , 这 个 窗 口 是 gdb 输 出 窗 口 。 现 在 vim 的 窗 口 布 局 如 下 ( 我 又 按 空 格 打 开 了<br />
command-line 窗 口 ):<br />
点 击 查 看 大 图<br />
小 技 巧 : command-line 窗 口 是 一 个 特 殊 的 窗 口 , 在 这 种 窗 口 中 , 你 可 以 像 编 辑 文 本 一 样 编 辑<br />
命 令 , 完 成 编 辑 后 , 按 回 车 , 就 会 执 行 此 命 令 。 你 要 重 复 执 行 某 条 命 令 , 可 以 把 光 标 移 到 该 命 令<br />
所 在 的 行 , 然 后 按 回 车 即 可 ; 你 也 可 以 对 历 史 命 令 进 行 修 改 后 再 执 行 。 详 见 ":help cmdlinewindow"。<br />
接 下 来 , 在 command-line 窗 口 中 输 入 以 下 命 令 :<br />
cd ~/tmp<br />
file sample<br />
这 两 条 命 令 切 换 gdb 的 当 前 工 作 目 录 , 并 加 载 我 们 编 译 的 sample 程 序 准 备 调 试 。<br />
72