Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1763009
  • 博文数量: 100
  • 博客积分: 10122
  • 博客等级: 上将
  • 技术积分: 4092
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-04 20:28
文章分类

全部博文(100)

文章存档

2010年(2)

2009年(28)

2008年(70)

我的朋友

分类: LINUX

2009-06-15 00:12:12

emacs gud 模式下,可以用 C-x 在当前buffer位置设置断点,不过如果程序中有多个文件名相同的文件的话,那么这个断点可能到了错误的文件中。

可以用以下方式修正这一行为:
(add-hook 'gdb-mode-hook
(lambda ()
(gud-def gud-break "break %d/%f:%l" "\C-b" "Set breakpoint at current line.")
(gud-def gud-tbreak "tbreak %d/%f:%l" "\C-t" "Set temporary breakpoint at current line.")
(gud-def gud-remove "clear %d/%f:%l" "\C-d" "Remove breakpoint at current line.")
))
这段代码将 gud 给 gdb 的命令修正为完整路径,这样就不会引起文件名歧义了。
当然,这样的代价是,如果不是你编译的程序,那么就没法根据 search paths 来找程序了。

阅读(1566) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~