为了使在64位kali中使用gdb调试32位程序,并且让gcc和g++能够使用-m32来编译32位的程序,要进行一下操作。
安装
使用命令:vim /etc/apt/sources.list
并改为以下内容
deb http://http.kali.org/kali kali-rolling main non-free contrib
再执行以下命令
1.启用兼容模式
dpkg –add-architecture i386
2.升级一下
apt-get update
3.安装
apt-get install libc6:i386
下面编译环境安装,否则可能报错
apt-get install gcc-multilib
apt-get install g++-multilib
依赖解决
在实际安装中,在执行编译环境安装时始终存在依赖关系问题,导致gcc和g++安装识别,最终通过安装aptitude解决了依赖问题。
aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get不同的是,aptitude 在处理依赖问题上更佳一些。
举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。
这样,系统中不会残留无用的包,整个系统更为干净。以下总结的一些常用 aptitude命令,仅供参考。
命令 | 作用 |
---|---|
aptitude update | 更新可用的包列表 |
aptitude upgrade | 升级可用的包 |
aptitude dist-upgrade | 将系统升级到新的发行版 |
aptitude install pkgname | 安装包 |
aptitude remove pkgname | 删除包 |
aptitude purge pkgname | 删除包及其配置文件 |
aptitude search string | 搜索包 |
aptitude show pkgname | 显示包的详细信息 |
aptitude clean | 删除下载的包文件 |
aptitude autoclean | 仅删除过期的包文件 |
安装aptitude
$ sudo apt-get install aptitude
通过aptitude 安装32位编译库
aptitude install gcc-multilib
aptitude install g++-multilib