linux c之gdb

一、gdb的功能:

1、启动被调试程序。

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

3、当程序被停住时,可以检查程序状态

4、动态的改变程序的执行环境

二、gdb的基本使用流程:

1、编译生成可执行文件     :gdb   -g hello.c -o  hello

2、启动gdb                        :gdb  hello

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

4、运行程序                       :run

5、利用更丰富的gdb调试命令进行程序的调试

三、常用的调试命令选项:

选项(简写)                    命令选项格式                                                                     说明

run(r)                          run [参数1][参数2]。。。                                        运行程序,后面的参数列表是传入mian函数的参数,也可以没有

list(l)                           list [起始行][结束行]      list[行号]    list [文件名][行号][起始行][结束行]    默认显示10行

print(p)                        p(print)[变量名]                                                         打印变量名 也可以跟函数调用  eg     print   add(3,5)

break(b)                      break [行号]或break [函数名]或break 例程入口       设置断点

delete(d)                      d(delete)[断点标号]                                                  删除断点

info b                                                                                                           查看所有断点

next(n)                                                                                                        不进入函数的单步执行

step(s)                                                                                                        进入函数的单步执行

continue(c)                                                                                                  继续执行函数,直到函数结束或遇到新的断点

set                            set [变量名] =[值]                                                        设置变量的值

whatis                      whatis [变量名]                                                            查看变量的类型

finish                                                                                                           执行完当前函数,如果有返回值,则打印出返回值

quit(q)                                                                                                          退出gdb调试

help(h)                      格式为 h(help) [命令名称]                                          查看指定命令的使用方法。

linux c之gdb,布布扣,bubuko.com

时间: 2024-10-18 21:25:07

linux c之gdb的相关文章

[每天一个Linux小技巧] gdb 下一次运行多个命令

一般gdb运行的时候,我们仅仅能输入一个命令. 如: (gdb) c (gdb) bt 假设想运行多个命令怎么办? 能否像bash那样, 使用; 如 ls; ls 结论是不行. 但能够通过gdb 内建函数的的方式来实现: (gdb) def cbt >c >bt 10 >end (gdb) 也能够追加到 $HOME/.gdbinit下, 每次启动gdb后会自己主动载入. [每天一个Linux小技巧] gdb 下一次运行多个命令,布布扣,bubuko.com

Linux下使用GDB进行调试

Linux下使用GDB进行调试的常用命令记于此. $ sudo su # g++ -g test.cpp -o test -pthread # gdb test         <--------------------- 启动GDB (gdb) l            <--------------------- 从第一行开始例出原码,list命令简写. (gdb)              <--------------------- 直接回车,表示重复上一次命令 (gdb) b 

[每天一个Linux小技巧] gdb 下一次执行多个命令

一般gdb执行的时候,我们只能输入一个命令. 如: (gdb) c (gdb) bt 如果想执行多个命令怎么办? 是否能像bash那样, 使用; 如 ls; ls 结论是不行. 但可以通过gdb 内建函数的的方式来实现: (gdb) def cbt >c >bt 10 >end (gdb) 也可以追加到 $HOME/.gdbinit下, 每次启动gdb后会自动加载. [每天一个Linux小技巧] gdb 下一次执行多个命令

linux应用开发-gdb调试

linux应用开发-gdb调试 一 gdb概念 gdb是GNU开发的linux下的调试工具 二 基本使用过程 1 进入调试程序的模式: gcc -g test.c -o test.out 2 开启gdb:            gdb test.out 3 运行程序:           run(r) 4 退出:               quit(q) 5 也可以先进入gdb在执行file装载要调试的文件 三 基本命令 1 设置断点:break(b) 行号 或 break(b)文件名:行号

Linux系统调试--gdb

GDB是一个强大的GNU Project调试器.通过gdb你能够查看另一个程序的执行过程,或者当程序崩溃时正在做什么事情. GDB主要通过以下4个方面来帮助你找出程序中的bug: 运行你的程序,设置所有能够影响程序运行的东西 能够使你的程序在指定的条件下停止 当你程序停止时,你能够检查发生了什么 改变你的程序(如改变当前变量的值),这样你可以试着去改正由bug产生的问题 现在,GDB可以调试用Ada, C, C++, Objective-C, Pascal等语言编写的程序.而且GDB支持本机(n

【转】 linux编程之GDB调试

GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能: 1 在程序中设置断点,当程序运行到断点处暂停 2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来 3 单步执行 4 运行时修改变量的值 5 跟踪路径 6 线程切换 等等 下面以以下程序为例 当我们要使用GDB进行程序的调试时,在用GCC编译时需要加上-g,如下: GDB之所以能够进行程序的调试也是在于进行编译时的-g选项,当设置了这个选项的时候,GCC会向程序中塞入一下信息,作为GDB调

Centos6.5下虚拟机Linux 关于g++,gdb,ctags安装以及vim的配置

安装g++,gdb,ctags以及对vim的配置的目的: g++,gdb,ctags可以方便我们在Linux下编译程序,调试程序: 对vim进行配置的目的: 进行vim配置,可以让我们在后续敲代码更加方便.按F5可以直接编译并执行C.C++代码以及执行shell脚本:按"F8"可进行C.C++代码的调试:"Ctrl + A"为全选并复制快捷键,方便复制代码:按"F2"可以直接消除代码中的空行:F3"可列出当前目录文件,打开树状文件目录:

嵌入式arm linux环境中gdb+gdbserver调试

一.前言嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行反复调试,特别是复杂的程序.采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试. Gdbserver在目标系统中运行,gdb则在宿主机上运行.目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序.在此我们还不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver. 二.编译gdb和gdbserve

Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件

交叉编译gdb和gdbserver 1.下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本.当然,凡事无绝对.我们以gdb-7.2.tar.bz2 这个文件为例.2.解压缩: $ tar jxvf gdb-7.2.tar.bz2 注:小技巧:Linux下一般压缩文件后缀为.tar.bz2和.tar.gz,它们解压命令有两三个选项是一致的: xf(v),前者再加上j选项,后者再加上z选项. 3.进入该目录 $ cd g