博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gdb调试命令的三种调试方式和简单命令介绍
阅读量:4063 次
发布时间:2019-05-25

本文共 720 字,大约阅读时间需要 2 分钟。

  • 调试可执行文件。

    如果需要使用gdb调试程序,请在gcc时加上-g选项。

    调试可执行文件的时候,执行gdb <program>。我们这里生成一个hello的可执行文件,执行命令为gdb hello。

    gdb调试命令的三种调试方式和简单命令介绍

    gdb调试命令的三种调试方式和简单命令介绍

  • gdb也可以调试core文件。

    首先介绍一下core文件的产生,当一个程序在执行的时候出现段错误的时候,但是没有在执行目录生成core文件,这时可以ulimit -c看一下。

    ulimit -c 显示核心转储文件大小的最大值,这里是零:禁止核心转储。

    这时候我们执行ulimit -c unlimited,再来执行一次可执行文件,这时候我们可以看到有core文件产生了。

    gdb调试命令的三种调试方式和简单命令介绍

    gdb调试命令的三种调试方式和简单命令介绍

    gdb调试命令的三种调试方式和简单命令介绍

  • gdb也可以调试运行中的程序,也就是服务程序。

    如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。

    gdb调试命令的三种调试方式和简单命令介绍

  • gdb运行进入调试模式后,可以使用下列的基本命令来进行操作。

    gdb调试命令的三种调试方式和简单命令介绍

  • 这里我们以hello可执行程序调试为例。

    执行gdb hello进入调试模式后,执行r就可以运行该程序了,但是我们通常不会直接这样做,一般在调试的时候我们都是先设置断点,使用b加行号的模式,设置断点后,在执行r,程序就会卡在加入断点的那一行。

    使用命令p加某个变量名,可以查看变量的值、堆栈情况等。

    gdb调试命令的三种调试方式和简单命令介绍

    gdb调试命令的三种调试方式和简单命令介绍

  • 6

    下面是一些经常用到的命令:

    观察变量:(gdb) watch n

     在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点。

    单步运行:(gdb) n

    程序继续运行:(gdb) c

    使程序继续往下运行,直到再次遇到断点或程序结束;

    退出GDB:(gdb) q

    END

转载地址:http://ynnji.baihongyu.com/

你可能感兴趣的文章
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
Java.nio
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
PHP那点小事--三元运算符
查看>>
fastcgi_param 详解
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>