前言
之前写了一篇关于使用 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文件的配置
- 关闭编译选项
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)
│ Depends on: RELOCATABLE [=y]
│ Location:
│ -> Processor type and features
│ (1)

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

2527

被折叠的 条评论
为什么被折叠?



