GDB——GDB调试工具简介

什么是GDB?

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。与Window下的IDE不同,GDB是纯命令行执行的,并没有图形界面方法。

问题:既然windows下有对用户友好的图形界面的调试工具了。那么为什么我们还需要回到命令行的模式呢?

如果我们是在UNIX平台下做软件,我们会发现基本不像windows下开发一样,有各种各样的图形界面的编译器和调试工具。在UNIX下,操作基本都是基于命令行完成的,并且图形界面中的调试工具实际上也是集成了GDB的功能。
了解命令行的GDB,我们会发现这个调试工具会比图形界面调试器具有更加强大的功能。也可以更加深入了解调试工具的工作原理。

问题:我们为什么需要调试工具?

  • 软件不是一次性开发完成的(是软件就是bug,是程序就有问题)
  • 调试是软件开发过程中不可或缺的技术(调试工具很重要)

我们写完程序后,需要做完成性测试,单元测试等等。因此调试占软件开发很大一部分工作。

GDB的常规应用

  • 自定义程序的启动方式(指定影响程序运行的参数)
  • 设置条件断点(在条件满足时暂停程序的执行)
  • 回溯检查导致程序异常结束的原因(Core Dump)
  • 动态改变程序执行流(定位问题的辅助方式)

GDB的启动方式

1.直接启动
1. gdb
2. gdb test.out
3. gdb test.out core

注意:在调试程序前,首先在编译时,我们必须要把调试信息加到可执行文件中去。使用编译器的-g参数可以做到这一点。

2.动态链接
1. gdb test.out pid

动态链接的功能就是,将gdb链接到一个正在运行中的进程中去。pid就是进程号。可以使用ps aux命令查看对应程序的进程号。

猜你喜欢

转载自blog.csdn.net/small_prince_/article/details/80670347