Linux内核调试最优方法

本文分享了在Linux内核调试过程中遇到的挑战,如VMware卡顿、KDB断点无效等问题,以及如何转向使用QEMU和gdb进行更流畅的内核调试。详细介绍了从安装VMTools、修改Ubuntu源、编译内核到配置QEMU和gef的环境搭建步骤。
摘要由CSDN通过智能技术生成

Linux内核调试躺坑

偶尔要分析一下Linux内核,内核探针有时并不能满足需要(例如调试分析CVE)。采用VM虚拟机通过管道加IDA双机调试很卡,调试体验很差。用KDB也是卡,还有可能断点无效,死机也是常事。Visual Studio调试内核依然不方便,重点是卡慢。最终还是学习Google使用QEMU调试内核。(网上一大推调试文章,能用好用的并不多,我跟着一路折腾过来真把我弄得够呛。给后来人一个忠告,老老实实在开启虚拟化的Linux虚拟机中使用QEMU+gdb)

靠谱点的资料

多读牛逼人的一手资料,官方文档。每次找资料真找的我血压升高

https://www.starlab.io/blog/using-gdb-to-debug-the-linux-kernel
https://github.com/google/syzkaller/blob/master/docs/linux/setup_ubuntu-host_qemu-vm_x86-64-kernel.md
https://www.kernel.org/doc/html/latest/dev-tools/gdb-kernel-debugging.html
https://bbs.pediy.com/thread-252344.htm
http://jiayy.me/2020/05/13/qemu+gdb+kernel/

我的环境搭建过程

安装VMTool

拷贝vmare-tools-distrib到桌面。
运行sudo ./vmare-install.ph

# 修复不能从桌面拷贝的问题
sudo apt-get install open-vm-tools-desktop

修改Ubuntu源

获取Codename

lsb_release -a

将TODO替换成Codename

deb http://mirrors.aliyun.com/ubuntu/ TODO main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ TODO main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ TODO-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ TODO-security main restricted universe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值