gdb调试教程(gdb调试)
大家好,小讯来为大家解答以上问题。gdb调试教程,gdb调试很多人还不知道,现在让我们一起来看看吧!
1、 调试可执行文件。
2、 如果需要使用gdb调试程序,请在gcc中添加-g选项。
3、 调试可执行文件时,执行gdb程序。我们在这里生成一个hello的可执行文件,执行命令是gdb hello。
4、 Gdb也可以调试核心文件。
5、 首先,介绍核心文件的生成。当一个程序在执行过程中出现段错误,但核心文件不是在执行目录中生成的,可以在ulimit -c C中查看.
6、 Ulmit-c显示了核心转储文件的最大大小,这里是零:核心转储被禁止。
7、 此时我们执行ulimit -c unlimited,然后再次执行可执行文件。这个时候我们可以看到有一个核心文件。
8、 Gdb还可以调试正在运行的程序,也就是服务程序。
9、 如果您的程序是服务程序,您可以在服务程序运行时指定进程ID。Gdb会自动附加并调试。
10、 gdb运行到调试模式后,可以使用以下基本命令进行操作。
11、 这里我们以hello可执行程序的调试为例。
12、 执行gdb hello进入调试模式后,执行R就可以运行程序了,但我们一般不会直接这么做。一般在调试时,我们先设置断点,采用B加行号的模式。设置断点后,执行R后,程序会卡在添加断点的那一行。
13、 使用命令p加上变量名,可以查看变量的值和堆栈。
14、 以下是一些常用的命令:
15、 观察变量:(gdb)观察n
16、 在某个周期,往往希望能够观察到某个变量的变化。这时,你可以键入命令‘watch’来观察变量的变化,GDB已经在‘n’处设置了一个观察点。
17、 单步操作:(gdb)n
18、 程序继续运行
19、 使程序继续向下运行,直到再次遇到断点或程序结束;
20、 出口广发:(广发)q
本文到此结束,希望对大家有所帮助。