调试概念:单步执行、单步进入、强制进入、单步退出

这两天一直在调试程序,想记两篇关于GDB调试的笔记。这是第一篇,关于调试的几个小概念:单步执行、单步进入、强制进入、单步退出。

  • 单步执行(Step Over)
    就是一行一行的执行代码,但不一定会进入到调用的函数里面。比如说,当前行代码调用了函数 add(),单步执行的话直接调用而不进入(除非add()函数有断点)。
  • 单步进入(Step Into)
    主要区别于单步执行,上面的例子中,单步进入一定会进入到add()函数。
  • 强制进入(Force Step Into)
    当调用了一个外部库的函数时,进入到调用的函数。调试时通常不需要进入,所以必须“强制进入”才能进去。
  • 单步退出(Step Out)
    就是跳出断点,比如,当单步进入到一个函数里面时候,发现没有调试必要,点单步退出就跳出此函数继续执行;或者在一个断点上点单步退出,就忽略该断点执行到下一个断点。单步退出并非退出程序,更不是越过一行或者几行不执行,而仅仅只是停止调试,让程序继续往下执行。

标签: 调试 C开发

发表评论: