• gdb调试入门(上)


    一、什么是gdb:gdb是GNU debugger的缩写,是编程调试工具

    二、gdb功能:
    1、启动程序,可根据用户要求随心所欲的运行程序(比如带参数)
    2、可让被调试的程序在用户指定的调试的断点处停住
    3、当个程序停住,可以检查程序中发生的事(比如打印变量值)
    4、动态改变变量程序的执行环境

    三、使用实例:
    gcc -Wall -g mian.c -o simple   注意:需要加上-g选项,以便生成调试信息。方便gdb调试,如果不加,只显示汇编代码,没有源文件代码。

    gdb simple          #启动gdb
    (gdb) list          #查看所有源代码  l 2,10
    break  10                   #设置断点   b func   在函数func处设置断点
    i  b                        #查看断点
    info break                  #查看断点
    l(list) 10                        #查看第10行代码
    run                         #启动程序
    s                           #单步跟踪
    print  i                    #打印当前i的值
    until                       #跳出循环,当厌倦了在一个循环体内单步跟踪时,这个命令可以直接运行程序直到退出循环。
    p(print) result                    #查看result值
    c                           #运行到下一个断点处 continue
    step(s)                     #单步跟踪
    next(n)                     #不进入函数内(单步)
    finish                      #退出整个函数
    q                           #退出gdb
    break if<condition>         #条件成立时中断
    watch expr                  #当expr值发生改变时,程序中断
    delete  n                   #删除断点  n为第几个断点,n=1,删除第一个断点

    接下来详细讲解下一:

    1、run  arg1  arg2 :运行时,可以跟上参数。若未设置断点,则直接运行程序。否则运行到断点处。

    2、list  fun   查看fun函数源码。     list  file:fun 查看file文件中的fun函数源码

    3、break  行号:设置断点; break fun 在某函数处设置断点 ;        或者break file:行号  ;break  file:fun     

    4、continue(c)  运行到下一个断点

    5、s单步跟踪,会跟踪到函数内部。

    6、finish:运行程序,直到当前函数完成返回。并打印函数返回时的堆栈地址和返回值以及参数值等信息。

    7、next(n):单步跟踪,不进入函数。

  • 相关阅读:
    2012年春晚剧本
    研究机器人
    85.圆角边框的两大要素 Walker
    81.边框设置 Walker
    76.背景固定 Walker
    84.边框方向 Walker
    86.圆角边框设置 Walker
    82.边框宽度和边框颜色 Walker
    88.轮廓和样式重置 Walker
    77.背景简写 Walker
  • 原文地址:https://www.cnblogs.com/wsw-seu/p/8228458.html
Copyright © 2020-2023  润新知