linux编程之GDB调试
2016-11-30 18:58
267 查看
转自:http://www.cnblogs.com/kunhu/p/3603268.html
GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能:
1 在程序中设置断点,当程序运行到断点处暂停
2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来
3 单步执行
4 运行时修改变量的值
5 跟踪路径
6 线程切换
等等
下面以以下程序为例
当我们要使用GDB进行程序的调试时,在用GCC编译时需要加上-g,如下:
GDB之所以能够进行程序的调试也是在于进行编译时的-g选项,当设置了这个选项的时候,GCC会向程序中塞入一下信息,作为GDB调试时的铺垫
,然后GDB才能够利用这些铺垫和信息与程序交互。
有两种方式可以进入GDB,一种就是直接在命令行上输入gdb,然后再在gdb中用file命令加载要调试的程序:
另一种就是,直接在命令行上使用:gdb 程序名
这两种方法都是要在GDB中加载已经做了铺垫的将被调试的程序。
进行GDB并且加载了程序后,我们就可以进行一系列的调试操作了:
1 用 "set args 参数值1 参数值2...."来设置输入参数
2用“list 开始的行号"来打印内容
list 还可以选取区间来打印代码:
3.用 ”b 位置"设置断点
4.用 “run 参数”来运行程序
5.用"display 变量名“来显示变量
6.用”c"来继续运行程序
7.用set命令来改变变量的值
8用q命令来退出GDB
9 用p命令来打印变量的值
10 设置条件断点
11 用delete删除断点
12 用info break 来显示断点信息
13.用bt来显示函数调用路径
14用whatis或者ptype来显示变量的类型
GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能:
1 在程序中设置断点,当程序运行到断点处暂停
2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来
3 单步执行
4 运行时修改变量的值
5 跟踪路径
6 线程切换
等等
下面以以下程序为例
当我们要使用GDB进行程序的调试时,在用GCC编译时需要加上-g,如下:
GDB之所以能够进行程序的调试也是在于进行编译时的-g选项,当设置了这个选项的时候,GCC会向程序中塞入一下信息,作为GDB调试时的铺垫
,然后GDB才能够利用这些铺垫和信息与程序交互。
有两种方式可以进入GDB,一种就是直接在命令行上输入gdb,然后再在gdb中用file命令加载要调试的程序:
另一种就是,直接在命令行上使用:gdb 程序名
这两种方法都是要在GDB中加载已经做了铺垫的将被调试的程序。
进行GDB并且加载了程序后,我们就可以进行一系列的调试操作了:
1 用 "set args 参数值1 参数值2...."来设置输入参数
2用“list 开始的行号"来打印内容
list 还可以选取区间来打印代码:
3.用 ”b 位置"设置断点
4.用 “run 参数”来运行程序
5.用"display 变量名“来显示变量
6.用”c"来继续运行程序
7.用set命令来改变变量的值
8用q命令来退出GDB
9 用p命令来打印变量的值
10 设置条件断点
11 用delete删除断点
12 用info break 来显示断点信息
13.用bt来显示函数调用路径
14用whatis或者ptype来显示变量的类型
相关文章推荐
- Linux下C编程和GDB调试
- linux编程--gdb调试学习
- linux应用编程笔记(1)gdb调试方法及如何找出dbg.c程序中的错误
- linux下c编程之gdb调试
- Linux下C编程+GDB调试
- Linux高级编程--04.GDB调试程序(入门概述)
- linux编程之GDB调试
- Linux高级编程--04.GDB调试程序(查看数据)
- linux编程之GDB调试
- linux编程之GDB调试
- Linux编程——gdb调试
- linux编程之GDB调试
- linux下C语言编程1-gdb调试程序简介
- linux下pthread简单编程实例及gdb调试(core dumped)
- Linux下C++的编程——GDB进行程序调试
- linux编程之GDB调试
- Linux下C语言环境编程(gdb调试指针)
- Linux编程之gdb调试
- Linux编程-编译(gcc)与调试(gdb)
- Linux高级编程--04.GDB调试程序(设置断点)