CentOS6上编译安装GDB 8.1版本程记录(包括安装peda)
https://blog.csdn.net/LPWSTR/article/details/81226888
linux下gdb的安装及查看方法 ---- 及 linux-core文件调试
https://blog.csdn.net/chengsi101/article/details/79424083
example: {
查看core文件
产生core文件后,就可以利用命令gdb进行查找。
切换到core文件所在的目录,输入命令:gdb ./test core-test-26795-1519971969
参数一是应用程序的名称,参数二是core文件,展示错误内容,如下图所示:
(gdb)后输入where,就会看到程序崩溃时堆栈信息(当前函数之前的所有已调用函数的列表(包括当前函数),gdb只 显示最近几个)
}
http://www.cnblogs.com/chenmingjun/p/8280889.html
//其它创建的链接方式:
Linux gdb的安装过程:
https://blog.csdn.net/ihaha233/article/details/80291866
https://www.cnblogs.com/valor-xh/p/6536175.html
-----------------------------------------------------------Begin---------------------------------------------------------------------
CentOS6上编译安装GDB 8.1版本程记录(包括安装peda):
下载
我是在CentOS6下首先将gcc升级到8.1后才着手升级gdb的。如果直接采用旧版本的gcc编译,可能会由于源码中出现某些使用了新特性的情况导致中途报错。升级gcc的过程可以参考我的上一篇文章CentOS6上编译安装gcc8.1版本全过程记录(包括排坑与常见错误解决)。下面进入正题:
先到http://ftp.gnu.org/gnu/gdb/去找gdb最新的源码,然后下载即可。
sudo yum install glibc-devel bison flex texinfo build-essential
wget http://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz
tar -xf ./gdb-8.1.tar.xz
cd ./gdb-8.1
如果目标机网络不好,则需要下载gdb源码到本地后上传。
编译
./configure --prefix=/usr/local/gdb8
配置完成之后就可以开始编译了,这里依据目标机配置选定make后的参数。
make -j8
编译完后进行安装
sudo make install
至此已将gdb8.1安装到了/usr/local/gdb8下。
软链接
先查看当前gdb的路径:
which gdb
发现在/usr/bin下。于是先进行备份:
cd /usr/bin
sudo mv ./gdb ./gdb.old
下面链接到新编译的gdb上:
cd /usr/local/gdb8/bin
sudo ln -s $(pwd)/gdb /usr/bin/gdb
安装增强工具
peda是肯定要装的:
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
顺便一提,旧版本的gdb可能出现安装peda后启动时报错的情况,这个问题主要是由python不同版本间的语法差异造成的,解决起来也很容易。
1. 先定位到shellcode.py文件,修改其中字典相关语法:
2. 还是shellcode.py文件,修改其中版本号获取代码:
3. 修改peda.py中版本号获取代码:
截图时有部分代码忘了截行号,如果出现类似问题,在启动gdb时会有相应的提示,对照其中标定的位置一看就知道了。