文章目录

前言

测试代码

代码编译

step/finish组合

step/return组合

总结

前言

说实话平时在Windows平台上开发,gdb调试用的并不是很多,但是一些在linux平台才会出现的BUG,或者在linux运行时宕机产生了core文件,这些还是需要使用gdb调试的,之前的文章《linux环境下服务器程序的查看与gdb调试》列举了常用的gdb命令,基本上调试一些core文件和简单bug使用这些命令足以了,但是新的需求总是会出现。

新的需求也很常见,就是跳进一个函数,调试一部分代码后还要跳出这个函数,一般情况就是这个函数特别长,调试前几行已经明白函数的逻辑和用意,如果使用 next 命令逐行运行需要花费较多时间,所以需要跳出函数回到调用的位置,这两个操作在Visual Studio中的快捷键分别是F11和Shift+F11,使用起来非常的方便,其实在gdb调试的过程中也有对应的命令,分别是step(s)和finish(fin),括号中的内容为命令的简写,此外还有一个return命令也可以使函数返回,接下来可以看一下它们的区别。

测试代码

测试的代码很简单,只需要写一个简单的函数,并且在主函数中调用这个函数即可,代码如下:

#include

using namespace std;

int son_func()

{

int a = 100;

int b = 1;

return a + b;

linux gdb 跳出函数,gdb调试程序时跳进函数和跳出函数相关推荐

  1. C++ - 模板函数须要类型转换时使用友元(friend)模板函数

    模板函数须要类型转换时使用友元(friend)模板函数 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24357301 非模板函数 ...

  2. gdb调试程序时跳进函数和跳出函数

    文章目录 前言 测试代码 代码编译 step/finish组合 step/return组合 总结 前言 说实话平时在Windows平台上开发,gdb调试用的并不是很多,但是一些在linux平台才会出现 ...

  3. Linux 使用gcore、gdb、pstack、strace命令查死锁问题

    gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于 ...

  4. Linux调试工具strace和gdb常用命令小结-转

    Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是 ...

  5. Linux ptrace 原理,从gdb原理学习ptrace调用

    Linux的ptrace系统调用,是Android二进制hook框架adbi的核心.因此学习adbi之前,先学习一下ptrace()函数. ptrace介绍 ptrace可以拆开来,看作Process ...

  6. [Linux 高并发服务器]GDB调试

    [Linux 高并发服务器]GDB调试 [Linux 高并发服务器]GDB调试 [Linux 高并发服务器]GDB调试 GDB是什么 预先准备 基本命令 例子 进入和退出gdb 获取帮助 查看文件代码 ...

  7. linux编程GCC、gdb、Makefile、make、

    文章目录 GCC gcc编译过程 gcc编译多文件 gdb 动态库和静态库 创建静态库 使用静态库 动态库 动态库的创建 动态库的使用 静态库和动态库的区别 make make是什么 1 make命令 ...

  8. linux(armv7/8)下gdb的安装及查看方法

    1. gdb安装 1.1 将gdb-10.1.tar.gz拷贝的/usr/local/目录下 (可以拷贝到任何你愿意的Linux目录下)或者进入 /usr/local中下载地址:http://ftp. ...

  9. Linux基础 30分钟GDB调试快速突破

    引言 Linus心灵鸡汤 在*nix开发中有道卡叫gdb调试,不管你怎么搞. 它依然在那丝毫不会松动.今天致敬一个 活着的传奇 Linus Torvalds Unix 始于上个世纪60年代,在70年代 ...

最新文章

  1. 渗透测试辅助工具--在线版
  2. Revising Aggregations - The Sum Function(集合函数-sum)
  3. WP7 Tip:改变启动页
  4. python集合补集、差集、并集_python set集合运算(交集,并集,差集,对称差集)...
  5. Google glass GDK - 通过MP3路径获取专辑图片
  6. 一个磁性窗体VCL组件的具体实现
  7. 在Ubuntu 18.04上使用Nginx安装WordPress
  8. 如何将驱动程序静态编译进内核
  9. 企业网站应用模式之—LAMP架构的源码编译超详细步骤,有手就行!
  10. java地铁最短距离_地铁线路最短路径
  11. [转]performSelector延时调用导致的内存泄露
  12. Unity 打图集Atlas
  13. 重读《从菜鸟到测试架构师》-- 构建的过程
  14. 论IE8浏览器报错:$未定义及缺少对象问题
  15. [系统工具]VMware Workstation 10.0 官方中文版 (附注册机/序列号)
  16. linux常用命令 cp命令的使用和介绍
  17. 我们是科幻迷(刘慈欣)
  18. 计算机双学位毕业设计选题,双学位毕业设计终于结束
  19. 谷歌的合纵贯通:互联网、通信和节能领域
  20. 集训二报告:简易电子秤1

热门文章

  1. ROS2极简总结-Nav2-行为树
  2. 为什么要数据归一化和归一化方法
  3. 青龙面板哔哩哔哩抽奖白嫖
  4. L1-023 输出GPLT Python 团体程序设计天梯赛-练习集
  5. 领悟书生写论坛之类图设计
  6. 【产品】 产品设计之结构设计:注塑件产生气纹的原因
  7. 洛谷八连测——关于取模与思维僵化
  8. java 6u45 no sni 2_sjscxz.taobao.com
  9. java个人理财代码_基于JavaEE的个人理财系统
  10. 如何提高商城的转化率