(P5)Linux开发工具——gdb入门上

1.什么是gdb

  • 什么是gdb
    gdb是GNU debugger的缩写,是程序的调试工具

2.gdb功能

  • 启动程序,可以按照用户自定义的要求随心所欲的运行程序
  • 可让被调试的程序在用户所指定的调试的断点处停住**(断点可以是条件表达式)**
  • 当程序停住时,可以检查此程序中所发生的事
  • 动态改变程序的执行环境,可以动态改变变量的值

3.运行程序

gcc -Wall -g simple.c -o simple
不加-g只会有汇编代码而没有源文件代码

参数列表:程序列表 程序启动参数a b c

  • run®运行程序
  • run arg1 arg2

4.查看源码

  • list(l)-查看最近10行源码。l 2,10查看第2行到第10行代码
  • list fun-查看fun函数代码
  • list file:fun-查看file文件中的fun函数源码

5.设置断点与观察点

break 10,b func
info 10,i b

break 行号
break fun
break file:行号,eg:l search.c:10
break file:fun
break if <condition> 条件成立时程序停住,eg: break if i=50,然后执行c,表示程序运行到i=50停住了
info break(i b) 查看断点
watch expr 表达式expr值发生改变,程序停住,eg:watch i,然后执行c,只要i的值发生改变,程序就会停住
delete n 删除断点,n是断点号

5.单步调试

s 单步跟踪
until 跳出循环

finish 退出整个函数

continue© 运行至下一个断点
step(s) 单步跟踪,进入函数,类似VC中的step in
next(n) 单步跟踪,不进入函数,类似VC中的step out
finish 运行程序,直到当前函数完成返回。并打印函数返回时的堆栈地址和返回值及参数值等信息
until 当厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体

32:40

6.gdb常用命令总结

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章