赞
踩
说明:版权所有归作者,只供学习交流,若有其它用途请联系作者,转载请遵守IT人职业规范,请注明转载地址
一, GDB的简介
GDB是GNU Debugger的缩写。与make一样,同样来自于GNU项目。早期,GDB只运行在Linux或UNIX平台。目前有人将GDB移植到了Windows平台。这样在Windows操作系统下,软件开发人员同样可以使用出色的GDB调试工具。软件开发人员可以通过GDB调试工具启动程序、显示运行的相关信息或设置断点,还可以让程序在某个特定的位置或处在某个特定条件时停止下来,以便检查代码中的变量情况,并修改其中的错误。GDB不仅支持C/C++代码的调试,还可以使用GDB来调试Pascal或Fortran程序。GDB属于交叉工具,工作在命令模式。软件开发人员需要通过输入命令来实现对程序的调试,了解程序执行时的内部情况和出错情况。
二,GDB的使用和常用的一些命令
(1):编辑程序test.c
(2):使用命令gcc –g test.c –o test(必须使用-g选项,生成调试信息)
(3):使用gdb test,启动gdb进行调试
(4):使用l(list)命令,查看源文件
注意:使用l命令的时候,默认是从代码开头,一次显示10行的内容,并且再次使用l命令,会显示接下来的10行内容。如果想显示指定的行的内容,可以使用l(list)[起始行] [结束行]的命令格式查看,例如,要显示程序3到9行的内容,使用命令l 3, 9。
(5):使用b(break)命令设置断点,只需要在命令“b”后加上对应的行号,就能在这行设置上断点,在程序运行起来后,一旦遇到断点就会停在断点所在行之前。
扩展使用:
break(b)文件名:行号 作用:在指定文件的指定行添加断点。
break(b)行号 if 条件 作用:当条件为真时,指定行号处断点生效,例如 b 5 if i=10当i=10时,第5行断点生效。
(6):使用命令info b,查看断点设置情况。
(7):delete断点编号删除断点。
(8):next(n)单步运行程序(不进入子函数)。
(9):step(s)单步运行程序(进入子程序)。
(10):continue(c) 继续运行程序
(11):run(r) 运行代码程序
(12):使用命令print(p),格式为 p [变量名],查看变量的值。
(13):使用命令finish,跳出一个函数(将这个函数运行完)。
(14):使用命令q(quit),退出gdb调试。
(15):kill(k)终止正在调试的程序。
(16):whatis查看变量的类型。格式为,whatis [变量名]。
(17):tbreak设置临时断点,到达后被自动删除,用法同break。
(18):set(s) 设置变量的值。格式为,set [变量名] = [值]。
(19):help(h)查看知道命令的用法。格式为,
h(help) [命令名称]。
(20):disable/enable除能或使能断点。格式为,
disable/enable [断点标号],如果不带编号则视为对所有断点都是相应的操作。断点编号通过命令info break查看。
(21):condition用来修改对应断点的条件。格式为,
Condition [断点号] <条件表达式>。
(22):watch对指定的变量进行监控。
格式为, watch变量名。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。