成都软件开发培训教程之GDB工具的应用,为你带来更好的软件开发体验

GDB是UNIX及UNIX-like下的调试工具。

一般来说,GDB主要帮助我们完成下面四个方面的功能:

1、启动程序,可以按照开发者自定义的要求随心所欲的运行程序。

2、可让被调试的程序在所指定的调置的断点处停住。

(断点可以是条件表达式)

3、当程序被停住时,可以检查此时的程序中所发生的事。

4、可以改变程序,将一个BUG产生的影响修正从而测试其他BUG。

成都软件开发教程

具体应用

List

(gdb)listline1,line2

查看源代码

listlineNum在lineNum的前后源代码显示出来

list+列出当前行的后面代码行

list-列出当前行的前面代码行

listfunction

setlistsizecount

设置显示代码的行数

showlistsize

显示打印代码的行数

listfirst,last

显示从first到last的源代码行

break命令(可以简写为b)可以用来在调试的程序中设置断点,该命令有如下四种形式:

breakline-number使程序恰好在执行给定行之前停止。

breakfunction-name使程序恰好在进入指定的函数之前停止。

breakline-or-functionifcondition如果condition(条件)是真,程序到达指定行或函数时停止。

breakroutine-name在指定例程的入口处设置断点

如果该程序是由很多原文件构成的,你可以在各个原文件中设置断点,而不是在当前的原文件中设置断点,其方法如下:

(gdb)breakfilename:line-number

(gdb)breakfilename:function-name

要想设置一个条件断点,可以利用breakif命令,如下所示:

(gdb)breakline-or-functionifexpr

例:

(gdb)break46iftestsize==100

从断点继续运行:continue命令

成都软件开发教程

1.显示当前gdb的断点信息:

(gdb)infobreak

他会以如下的形式显示所有的断点信息:

NumTypeDispEnbAddressWhat

1breakpointkeepy0x000028bcininit_randomatqsort2.c:155

2breakpointkeepy0x0000291cininit_organatqsort2.c:168

删除指定的某个断点:

(gdb)deletebreakpoint1

该命令将会删除编号为1的断点,如果不带编号参数,将删除所有的断点

(gdb)deletebreakpoint

禁止使用某个断点

(gdb)disablebreakpoint1

该命令将禁止断点1,同时断点信息的(Enb)域将变为n

允许使用某个断点

(gdb)enablebreakpoint1

该命令将允许断点1,同时断点信息的(Enb)域将变为y

清除源文件中某一代码行上的所有断点

(gdb)clearnumber

注:number为源文件的某个代码行的行号

相关阅读:

成都手机软件开发:婚恋交友软件开发有哪些优势

成都企业软件开发测试该怎么进行?优点是什么

选择成都软件开发企业的三大指南

成都软件开发:移动办公oa系统开发解决方案

评论

电子邮件地址不会被公开。