使用 Clion + QEMU/GDB 远程调试Linux内核

本文介绍了如何配置Clion进行远程调试Linux内核,包括关闭KASLR、开启DEBUG_INFO及DEBUG_SECTION_MISMATCH选项,修改编译优化等级,创建磁盘文件,设置GDB脚本,启动QEMU并调试。过程中强调了关键步骤和可能遇到的问题,如调试inline函数的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前写了一篇关于使用 Clion 来阅读linux源码的文章《使用Clion 阅读/修改/注释 Linux 内核源码》,通过使用make -j12转化为使用make -j12 vmlinux bzImage之后,大大的提高了编译的速度,以及很大的降低了对CLion占用内存的开销,不会再出现卡顿,今天来配置Clion的Remote Debug功能以可以对Linux kernel进行单步调试。

下面过程跳过了准备linux内核、qemu等等工具的准备,仅仅介绍最核心的重要的配置。

试验环境:

  • Linux-kernel:5.14.2 -
  • QEMU:6.1.0
  • HOST:Ubuntu 20.04.3 LTS
  • Clion:2020.3.4
  • GDB:GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
一、修改.config文件的配置
  1. 关闭编译选项CONFIG_RANDOMIZE_BASE,这是取消内核内存地址随机化(KASLR),此配置的信息如下(可通过“/",搜索此信息):
  │ Symbol: RANDOMIZE_BASE [=n]
  │ Type  : bool
  │ Defined at arch/x86/Kconfig:2095
  │   Prompt: Randomize the address of the kernel image (KASLR)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUST-Kingdo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值