返回信息流我最近需要调试Linux内核,修一些bug。现在正在复现其中的一个bug,需要先跑一段程序,然后在运行某一个程序的时候加断点,来看内核的状态。现在的问题是,我用qemu跑起来内核了,但是内核由于太简陋,没有gcc,让qemu虚拟机联网的方法又太复杂,现在网上搜不到其他的解决方案,求大佬能指点一下。
(我现在一个不成熟的想法是把.o文件直接放在busybox编出来的文件系统里面,但是没搞明白咋弄,不知道这个思路可行吗)
这是一条镜像帖。来源:北邮人论坛 / linux / #160260同步于 2021/8/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Linux机器人发帖
qemu 运行内核后如何使用gcc
l543306408
2021/8/27镜像同步19 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
没太看明白这个流程,现在Linux内核接触不到这个程序
【 在 baymaxhwy 的大作中提到: 】
: 或者静态链接生成可执行文件,然后用qemu-gdb来调试内核?
我去试试,看看能不能在制作文件系统的时候放进gcc去,直觉应该是可以的。
【 在 bzz 的大作中提到: 】
: 换一个rootfs就行了吧。。。gcc又不是内核提供的
Mit的6.s081课程(原6.828),去这里看一下他们用的os,可以参考一下里面的Makefile写法,他这里就是make之后在编译内核的同时,把几个测试程序一起编译了,然后打包到镜像文件里面,同时可以看一下他的make gdb是咋写的,make gdb之后就可以在本地开gdb连接qemu调试内核