wenfh2020 / wenfh2020.github.io

make blog : github + jekyll
MIT License
4 stars 3 forks source link

vscode + gdb 远程调试 linux 内核源码(附视频) #110

Open wenfh2020 opened 2 years ago

wenfh2020 commented 2 years ago

https://wenfh2020.com/2021/06/23/vscode-gdb-debug-linux-kernel/

前段时间才搭建起来 gdb 调试 Linux 内核网络源码(视频 ),但是 gdb 命令调试效率不高。磨刀不误砍柴工,所以折腾一下 vscode,使调试人性化一点。

whexy commented 2 years ago

好文章,支持一下。

我用的M1 MacBook Air,觉得跑一个虚拟机还是太重了。 目前的工作流是用 Docker 编译 Kernel,然后在 macOS 上的 QEMU 里跑。

这样做的好处:

  1. (仅针对 Apple Silicon)macOS 的 QEMU 可以用 hvf 加速。有 Mac 硬件虚拟化特性的支持,性能比在虚拟机里好。
  2. 每次编译都从镜像创建一个新的容器,编译完就自动销毁。减少虚拟机使用带来的膨胀。各种在 macOS 里的习惯性配置(例如vimrc、zshrc、各种命令的 alias)也可以延续使用,不用在虚拟机里再配置一遍。
  3. 团队共用编译路径,避免因为工具链版本影响输出。而且可以在此基础上搭建 CI。Kernel 开发经常是 TDD,有这一套工具省事太多。
wenfh2020 commented 2 years ago

好文章,支持一下。

我用的M1 MacBook Air,觉得跑一个虚拟机还是太重了。 目前的工作流是用 Docker 编译 Kernel,然后在 macOS 上的 QEMU 里跑。

这样做的好处:

  1. (仅针对 Apple Silicon)macOS 的 QEMU 可以用 hvf 加速。有 Mac 硬件虚拟化特性的支持,性能比在虚拟机里好。
  2. 每次编译都从镜像创建一个新的容器,编译完就自动销毁。减少虚拟机使用带来的膨胀。各种在 macOS 里的习惯性配置(例如vimrc、zshrc、各种命令的 alias)也可以延续使用,不用在虚拟机里再配置一遍。
  3. 团队共用编译路径,避免因为工具链版本影响输出。而且可以在此基础上搭建 CI。Kernel 开发经常是 TDD,有这一套工具省事太多。

谢谢分享,涨知识了。有空你们也可以录制个视频,介绍一下,感觉这方面的博客文章很多,但是直接参考博客能成功把环境搭建起来的感觉不那么容易,很多时候会卡在一些细节上。再次感谢你的分享。😀

Rockliu120624 commented 2 years ago

谢谢大佬的分享,作为一个刚转码不久的菜鸟,也正打算业余时间研究一下Linux内核,算是修炼内功把,当码农实在是又难又卷。。。

wenfh2020 commented 2 years ago

谢谢大佬的分享,作为一个刚转码不久的菜鸟,也正打算业余时间研究一下Linux内核,算是修炼内功把,当码农实在是又难又卷。。。

我也是刚入门,共勉哈。