emacs gud 调试时断点的文件名问题
时间:2009-06-15 来源:hellwolf
emacs gud 模式下,可以用 C-x <spc> 在当前buffer位置设置断点,不过如果程序中有多个文件名相同的文件的话,那么这个断点可能到了错误的文件中。
可以用以下方式修正这一行为:
当然,这样的代价是,如果不是你编译的程序,那么就没法根据 search paths 来找程序了。
可以用以下方式修正这一行为:
(add-hook 'gdb-mode-hook这段代码将 gud 给 gdb 的命令修正为完整路径,这样就不会引起文件名歧义了。
(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.")
))
当然,这样的代价是,如果不是你编译的程序,那么就没法根据 search paths 来找程序了。
相关阅读 更多 +