zoukankan      html  css  js  c++  java
  • linux应用程序设计--GDB调试

    GDB简介:GDB是GNU发布的一款功能强大的程序调试工具,GDB主要完成下面三个方面功能:

    一、GDB的使用操作

      1.启动被调试程序。

      2.让被调试的程序在指定的位置停住。

      3.当程序被停住时,可以检查程序状态(如变量值)。

      GDB调试实例:

        1.在linux下编写test.c程序:

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5         int i;
     6         long result = 0;
     7         for(i=0;i<100;i++)
     8         {
     9                 result += i;
    10         }
    11         printf("result = %d
    ",result);
    12         return 0;
    13 }
    View Code

        2.编译生成可执行文件(-g 使程序具有调试信息):

        gcc -g test.c -o test

        3.启动GDB(进入GDB模式下):

        gdb test

        4.在main函数处设置断点:

        break main

        5.运行程序(运行到断点处):

        run

        6.单步运行:

        next

        7.继续运行(运行到下一个断点处):

        c

    在linux环境下运行结果如图:

    二、GDB常用命令

      1.启动GDB

        1.1.gdb name : 直接打开名为name的调试程序进行GDB调试

        1.2.gdb(进入gdb模式)-->file name(打开名为name的调试程序进行调试)

      2.list(l) : 查看程序,可以显示运行位置后面一段程序,可以根据代码进行断点的设置

      

      3.break(b) name : 在name函数路口处添加断点

      

      4.break(b) num : 在第num行添加断点

      

      5.break(b) filename : num : 在filename文件中的num行添加断点

      

      6.break(b) num if condition : 如果满足条件condition,则在第num行的位置设置断点

      7.info break : 查看程序中所有设置的断点

      

      8.delete num : 删除编号为num的断点

      

      9.run(r) : 开始运行程序

      10. next(n) : 单步运行程序(不进入子函数)

      11.step(s) : 逐步运行程序(进入子函数)

      12.continue(c) : 继续运行程序,到下一个断点

      13.print(p) variable : 查看变量variable的值

      

      14.finish : 运行程序,直到当前函数结束

      15.watch variable : 对变量variable进行监控

      16.quit(q) : 退出GDB模式

    作者:Wcat
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    vscode .vue文件中不能提示html代码
    vscode不能提示已经定义的类名和id?
    vue常用指令
    移动端性能陷阱和硬件加速
    关于样式的获取问题
    “'npm' 不是内部或外部命令,也不是可运行的程序”
    JavaScript之闭包问题
    Sublime Text 套件介紹:Pretty JSON
    教你解决Sublime Text中文乱码问题
    C# 连接Mysql 字符串
  • 原文地址:https://www.cnblogs.com/wcat/p/10061128.html
Copyright © 2011-2022 走看看