GDB调试器

Posted hello_world_I_coming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB调试器相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

  gdb是Linux下一款功能强大的C/C++程序调试器,能够在程序运行的过程中观察程序的内部结构和内存的使用情况。

  一般来说,gdb的主要功能有:

1、设置断点(断点可以是条件表达式),使程序在指定的代码行上暂停执行,便于观察;

2、单步执行程序,便于调试;

3、查看程序中变量值的变化;

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

5、分析崩溃程序产生的core文件。

  在gdb后面给出文件名,直接制定想要调试的程序,gdb就会自动调用这个可执行文件进行调试,如:

  #gdb filename

  注意:为了使gdb正常工作,必须使程序在编译的时候包含调试信息,这需要在gcc编译时加上-g或者-ggdb选项。调试信息包含了程序中每个变量的类型和在可执行文件中的地址映射及源代码的行号。

gdb常用的命令:

File:装入想要调试的可执行文件

run:执行当前被调试的程序

kill:终止正在调试的程序

step:执行一行源代码而且进入函数内部

next:执行一行源代码但不进入函数内部

break:在代码里设置断点,这将使程序执行到这里时被挂起

print:打印表达式或变量的值,或打印内存中某个变量开始的一段连续区域的值,还以用来对变量进行赋值

display:设置自动显示的表达式或变量,当程序停住或在单步跟踪时,这些变量会自动显示其当前值

list:列出产生执行文件的源代码的一部分

quit:退出gdb

watch:使你能监视一个变量的值而不管它何时被改变

backtrace:回溯跟踪

frame n:定位到发生错误的代码段,n为backtrace命令的输出结果中的行号

examine:查看内存地址中的值

jump:使程序跳转执行

signal:产生信号量

return:强制函数返回

call:强制调用函数

make:使用户不退出gdb就可以重新产生可执行文件

shell:使用户不离开gdb就执行Linux的Shell命令

用户可以通过在gdb下输入“help”命令来查看如何使用gdb,或者是在命令提示符下输入“gdb h”来得到一个关于gdb命令选项说明的简单列表。

---恢复内容结束---

以上是关于GDB调试器的主要内容,如果未能解决你的问题,请参考以下文章

GDB 调试命令

gdb调试程序函数名为问号,啥原因?

Linux gdb调试

GDB调试

linux禁止gdb调试

Linux_gdb调试器