VMWare linux C语言开发环境配置(Debug)
VMWare linux C语言开发环境配置(Debug)VMware linux设置root权限大三了要很多实验要用到Linux,只有用ssh连接Ubuntu虚拟机进行。计网实验的配置VMware linux设置root权限可以参考这位老哥的博客
VMWare linux C语言开发环境配置(Debug)
大三了要很多实验要用到Linux,只有用ssh连接Ubuntu虚拟机进行。这里就计算机网络实验:自己动手编写协议栈为例,配置Debug环境。
VScode连接VMware
这一点可以参考我关于xv6远程环境配置的博客
拉取代码
git clone https://gitee.com/hitsz-lab/net_lab.git
下载必要包、插件
包
sudo apt-get install make cmake libpcap-dev
sudo apt-get install libreadline-dev libncurses-dev g++
VScode插件
在远程主机上安装如下插件:
- C/C++
- CMake Tools
编译、执行
编译
找到CMake Tools拓展,先点击Configure All Projects,然后点击Build即可
执行
按下F5,在弹出来的菜单中选择带有linux的项 (通常来说是最后一项),然后VSCode会自动生成一个Launch.json,将其修改如下:
修改完毕后,再次按下F5。这时,大概率会出现如下问题:
这是因为没有写入权限的缘故,我们需要以Root模式重新连接远程环境,关于如何以Root模式登入,请继续阅读拓展部分,否则可以跳过该部分。需要注意的是,转移到Root模式后,需要重新下载VSCode的插件,如下图所示
此时,在src/ethernet.c中打下断点,再次按下F5,调试成功!
拓展:VMware linux设置root权限
可以参考这位老哥的博客
更方便地调试
上面介绍的方法是如何调试src,由于测试发生在test中,我们可能会更想直接调试test。
首先,修改test中makefile的如下,即在FLAG后面加一个 -g:
接着,修改launch.json的内容如下:
在test目录下重新执行下述命令以给test_eth_in打上调试标记:
make test_eth_in
最后,在eth_in_test中打下断点,按下F5,即可成功调试test里的eth_in_test了。调试其他文件的方法一致。
更多推荐
所有评论(0)