Vscode 搭建 Linux 内核 调试环境 (gdb + qemu)
搭建 Linux 内核调试环境
资料来源:
https://www.cnblogs.com/lijiang2023/p/17248676.html
https://github.com/mengning/linuxkernel/tree/master/src/kerneldebuging更新
1
2023.06.15 初始
导语
最近重新接触底层相关内容,加强记录.
内核调试选项
make meauconfig 时
1 | Kernel hacking ---> |
- 一系列 debug 标志位
- 关闭 KASLR 防止打断点失败.
gdb 调试内核需要的 vmlinux 在 /build/vmlinux
gdb + qemu
qemu 运行时必须要有 -s -S
-s
本地默认 1234 端口开启 gdb-server-S
表示暂停执行等待 gdb 命令
一组 gdb 命令
1 | b start_kernel # start_kernel 处设置断点 |
vscode
launch.json
1 | { |
tasks.json
1 | { |
测试
/init/main.c
-> start_kernel 打上断点, 启动(gdb) linux
一切如常规程序调试.