vim使ç¨è¿é¶
vim使ç¨è¿é¶
vim使ç¨è¿é¶
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
在 vim 中 使 用 gdb 调 试<br />
点 击 查 看 大 图<br />
现 在 我 们 按 "S" 步 进 到 factor 函 数 ,vim 会 自 动 打 开 factor/factor.c 文 件 并 标 明 程 序 执 行 的 位<br />
置 。 我 们 再 把 factor() 函 数 中 的 变 量 n 加 入 到 监 视 窗 口 ; 然 后 按 空 格 打 开 command-line 窗 口 , 输<br />
入 下 面 的 命 令 , 把 变 量 *r 输 入 到 变 量 窗 口 :<br />
createvar *r<br />
现 在 ,vim 看 起 来 是 这 样 的 :<br />
点 击 查 看 大 图<br />
现 在 , 你 可 以 用 "S"、"CTRL-N" 或 "C" 来 继 续 执 行 , 直 至 程 序 运 行 结 束 。<br />
如 果 你 是 单 步 执 行 到 程 序 结 束 , 那 么 vim 最 后 可 能 会 打 开 一 个 汇 编 窗 口 。 是 的 ,vimgdb 支 持 汇 编<br />
级 的 调 试 。 这 里 我 们 不 用 进 行 汇 编 级 调 试 , 忽 略 即 可 。<br />
如 果 你 发 现 程 序 有 错 误 , 那 么 可 以 按 "Q" 退 出 调 试 (gdb 会 提 示 是 否 退 出 , 回 答 y 即 可 ), 然 后 修 改<br />
代 码 、 编 译 、 调 试 , 直 到 最 终 完 成 。 在 修 改 代 码 时 , 你 可 能 并 不 喜 欢 vimgdb 的 键 映 射 ( 例 如 , 它<br />
把 CTRL-B 映 射 为 设 置 断 点 , 而 这 个 键 又 是 常 用 的 翻 页 功 能 ), 你 可 以 按 取 消 vimgdb 的 键 映<br />
射 , 或 者 你 直 接 修 改 gdb_mappings.vim 文 件 中 定 义 的 映 射 。<br />
看 ,vim + gdb 调 试 是 不 是 很 简 单 ?!<br />
我 们 可 以 再 定 制 一 下 , 使 调 试 更 加 方 便 。<br />
打 开 ~/.vim/macros/ gdb_mappings.vim 文 件 , 在 "let s:gdb_k = 0" 这 一 行 下 面 加 上 这 段 内 容 :<br />
" easwy add<br />
if ! exists("g:vimgdb_debug_file")<br />
let g:vimgdb_debug_file = ""<br />
elseif g:vimgdb_debug_file == ""<br />
call inputsave()<br />
let g:vimgdb_debug_file = input("File: ", "", "file")<br />
call inputrestore()<br />
endif<br />
74