linux入门笔记GDB调试
2017-10-22 16:58
211 查看
GDB调试器
对于Linux程序员来讲,GDB(GNU Debugger)通过与GCC的配合使用,为基于Linux的软件开发提供了一个完善的调试环境。将调试符号插入到生成的二进制代码中的gcc编译
gcc -g hello.c -o hello
GDB使用流程
代码见后面 代码1
**首先使用GCC对test.c进行编译。** > 注意:GDB进行调试的是可执行文件,而不是如“.c”的源代码,因此,需要先通过GCC编译生成可执行文件才能用GDB进行调试。编译时一定要加上选项“-g”,这样编译出的可执行代码中才包含调试信息,否则Gdb无法载入该可执行文件。 [root@vm-dev myprg]#gcc -g test.c -o test **GDB使用流程—进入GDB调试环境** [root@vm-dev myprg]# gdb test **GDB使用流程** -查看程序源文件 (gdb) list -设置断点 (gdb) break 6 -查看断点设置情况 (gdb) info b -运行程序 (gdb) run -查看变量值 (gdb) print n $1 = 0 (gdb) print i $2 = 134518440 -单步运行 (gdb)next (gdb)step -恢复程序运行 (gdb) c Continuing. The sum of 1-50 is :1275 Program exited normally. -GDB的命令可以通过查看help进行查找 (gdb) help (gdb) help data (gdb) help call -断点设置与恢复命令 函数断点 (gdb) break sum 条件断点 (gdb) break 8 if i= =10
GDB基本命令
GDB中的命令主要分为以下几类:
工作环境相关命令;
设置断点与恢复命令;
源代码查看命令;
查看运行数据相关命令及修改运行参数命令。
工作环境相关命令
命令格式 含义
set args 指定运行时参数,如set args 2;
show args 查看设置好的运行参数;
path dir 设定程序的运行路径;
show paths 查看程序的运行路径;
set en var[=value] 设置环境变量;
show en [var] 查看环境变量;
cd dir 进入到dir目录,相当于shell中的cd命令;
pwd 显示当前工作目录;
shell command 运行shell的command命令。
断点设置与恢复命令
命令格式 含义
info b 查看所设断点;
break 行号或函数名 设置断点;
tbreak 行号或函数名 设置临时断点,到达后被自动删除;
delete [断点号] 删除指定断点,其断点号为“info b”中的第一列。若缺省断点号则删除所有断点;
disable [断点号] 停止指定断点,使用“info b”仍能查看此断点。同delete一样,若缺省断点号则停止所有断点;
enable [断点号] 激活指定断点,即激活被disable停止的断点;
condition [断点号] 修改对应断点的条件;
ignore [断点号] 在程序执行中,忽略对应断点num次;
step 单步恢复程序运行,且进入函数调用;
next 单步恢复程序运行,但不进入函数调用;
finish 运行程序,直到当前函数完成返回;
c 继续执行函数,直到函数结束或遇到新的断点。
代码1
【GDBTest.c】 #include <stdio.h> void sum(int m); int main() { int i,n=0; sum(50); for(i=1; i<=50; i++) { n += i; } printf("sum of 1-50 is %d \n", n ); return 0; } void sum(int m) { int i,n=0; for(i=1; i<=m;i++) n += i; printf("The sum of 1-%d is %d\n",m,n); }
相关文章推荐
- Linux入门GDB调试的简易使用
- 学习笔记 --- LINUX应用调试之使用GDB
- linux笔记(gcc及gdb调试)
- linux下C++ gdb调试笔记
- linux程序调试命令addr2line之入门简单介绍(本文先不聊gdb调试)
- linux环境gdb调试工具学习笔记
- Linux-Ubuntu下gdb调试笔记
- 2012.3.1 linux学习笔记 GDB调试方法
- Linux高级编程--04.GDB调试程序(入门概述)
- linux程序调试命令addr2line之入门简介(本文先不聊gdb调试)
- linux入门基础(四)Gdb调试程序
- 【Linux学习笔记八】Linux编程-编译(gcc)与调试(gdb)
- 教你轻松入门Linux下用gdb调试
- linux应用编程笔记(1)gdb调试方法及如何找出dbg.c程序中的错误
- linux程序设计笔记10:gdb调试
- linux应用编程笔记(1)gdb调试方法及如何找出dbg.c程序中的错误
- 【GDB调试学习笔记】GDB调试入门
- linux笔记(gcc及gdb调试)
- Linux下C/C++语言的调试 gdb工具 笔记
- linux调试程序利器 GDB学习笔记