当前位置:  开发笔记 > 编程语言 > 正文

GDB断点

如何解决《GDB断点》经验,为你挑选了4个好方法。

我有一个断点列表,我想在每次调试特定程序时添加这些断点.

有没有办法可以将所有断点信息放在一个文件中,并在每个调试会话开始时使用它?换句话说,在提供'run'命令之前,我可以向GDB提供带有断点信息的脚本文件吗?



1> Mark Renouf..:

来自man gdb(1):

  -x file
           Execute GDB commands from file file.

然后,您可以将断点放在一个文件中:

break [file:]function
break [file:]function
...



2> Sean Bright..:

您可以将所需的所有命令放入.gdbinit与正在调试的可执行文件位于同一目录中的文件中.

就像是:

b somefile.c:128
b otherfile.c:33

应该工作得很好.

编辑:是的,-x命令行参数将允许您在GDB启动时执行任意文件,但.gdbinit为每个项目维护一个文件意味着文件自动执行(无需指定文件名).此外,您可以轻松地将项目特定.gdbinit文件添加到源代码管理中,这意味着您的所有团队成员都可以使用相同的调试工具.



3> Mitch Haile..:

除了使用外部文件之外,您还可以保持gdb打开:如果gdb下的二进制文件发生更改,它将重新加载二进制文件和库,而不会在下次运行时丢失断点.



4> aculich..:

save breakpoints命令是gdb 7.2中的新命令.将断点保存到文件后,可以使用source命令将它们读入以后的gdb会话,然后在下次运行gdb时可以使用该-x 选项.

save breakpoints 
  Save all current breakpoint definitions to a file suitable for use
  in a later debugging session.  To read the saved breakpoint
  definitions, use the `source' command.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有