一直苦于xv6中不能正确的识别跳转,导致看源码非常不方便,网上有vscode的教程,但是我又不习惯vscode所以望而止步。经过一番查阅加上自己的尝试配置了一下,现在已经支持大部分代码正确的跳转了,并且debug也可以尽可能的用clion自带的图形化了。配置项目的正确的跳转,clion 对 cmake 支持不错,但是 makefile 也是官方支持的,但是配置起来稍微麻烦一点,不过有 wsl2
克隆xv6项目,之后打开项目,这里可能会出现Project is not configured 这个警告,点击黄色警告框的右侧,依次选择 Fix >> Select makefile
这时会弹出一个框,选择项目根目录下的Makefile
安装wsl和相关环境,设置make的执行地址
打开makefile设置,这里工具链改为 wsl,build target 改为qemu,clean 还是 clean
配置wsl为默认的工具链。这些不用自己填,clion会帮我们查找 (wsl上需要安装一些常用的编译依赖)
这里就配置好了,保存设置。之后右上角有一个M+刷新的图标,点击来进行构建项目,这样clion会帮我们分析项目建立符号表等
这时会弹出一个对话框,点击ok确认执行
完成了上面这些配置完成了跳转部分 ,这样就可以正确的自动跳转了,而不是跳到头文件中去。
Debug 部分
用命令行gdb调试虽然酷炫,但是对新手还是不太友好,利用上图形化还是可以简化一些事情。
新建一个remote debug
地址填入wsl的地址,在wsl中使用 ip a 命令查看,符号文件需要先执行一次make qemu-gdb 之后才会有,debugger最好选用bundled gdb (6s081中有指导如何安装这些依赖在wsl中)而不是wsl版本。最后按下ok完成。
开一个命令行窗口 先执行make qemu-gdb来启动一个qemu-gdb服务在wsl中。打上一个断点,最后按下右上角刚刚配置好的xv6_debug按钮就可以调试了