当说到调试器、ide的时候我们期望这个家伙能带来什么

  • 方便修改程序依赖的一些上下文、如环境变量、查找路径
  • 方便源码阅读,如上下文源码、函数、宏、类、实现和结构,变量的类型、值、
  • 方便查看修改运行时态信息,变量信息查看
  • 方便跟踪、断点、单步

大概说了什么呢,我们希望它此时能是一个全家桶、起到一“个”制敌的作用

gdb

gdb 是什么?

跟踪、调试、阅读分析c/c++程序、甚至可以认为是提供了一个简单的沙盒,可以修改程序运行时一些所依赖的上下文

调试程序的种类—–按照调试时候程序的运行态来分

  • 跟踪已经运行中程序
  • 调试运行崩溃的程序、排查问题
  • 使用gdb 启动、跟踪的程序

gdb 能有的功能。

  1. 查看运行到当前位置时的函数调用栈信息
  2. 查看当前位置的前后的源码
  3. 调用函数的传入参数的值
  4. 设置、删除断点
  5. 单步 —- 步入、步出、运行到下一个断点、忽略后续断点运行
  6. 查看当前帧中局部变量的值
  7. 设置环境变量、查找路径
  8. 查看函数、宏、数据结构的定义、实现源码
  9. 更改变量的值