关于gef插件的安装和gdb的基本使用

gef插件的安装使用

Step1:下载gef插件
我们可以发现不少方法貌似都不起作用,首先需要明确的是不同版本号的ubuntu 可能安装gef插件的方式有所不同,我这里最终成功的方法是利用了一个克隆更改,最后成功的(git clone https://github.com/gatieme/GdbPlugins.git ~/GdbPlugins),执行完这一步就可以进行调用操作了。
关于gef插件的安装和gdb的基本使用_第1张图片
Step2:打开gef插件
输入代码:echo “source ~/GdbPlugins/gef/gef.py” > ~/.gdbinit
而后再输入 gdb 即可调出使用。
关于gef插件的安装和gdb的基本使用_第2张图片

gdb的简单调试

Step1:进入GDB  #gdb hello

Step2:查看源码  (gdb) l
源码会进行行号提示。
如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码。或者:使用断点或单步运行,到某个函数处使用s进入这个函数。

Step3:设置断点  (gdb) b 6
这样会在运行到源码第6行时停止,可以查看变量的值、堆栈情况等;这个行号是gdb的行号。

Step4:查看断点处情况  (gdb) info b
可以键入"info b"来查看断点处情况,可以设置多个断点;

Step5:运行代码  (gdb) r

Step6:显示变量值  (gdb) p n
在程序暂停时,键入"p 变量名"(print)即可;
GDB在显示变量值时都会在对应值之前加上" N " 标 记 , 它 是 当 前 变 量 值 的 引 用 标 记 , 以 后 若 想 再 次 引 用 此 变 量 , 就 可 以 直 接 写 作 " N"标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作" N""N",而无需写冗长的变量名;

Step7:观察变量  (gdb) watch n
在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点;

Step8:单步运行  (gdb) n

Step9:程序继续运行  (gdb) c
使程序继续往下运行,直到再次遇到断点或程序结束;

Step10:退出GDB  (gdb) q

下面是几个示例:
关于gef插件的安装和gdb的基本使用_第3张图片
关于gef插件的安装和gdb的基本使用_第4张图片

你可能感兴趣的:(关于gef插件的安装和gdb的基本使用)