WSL+Valgrind+Clion
记录一下搭建WSL工具链以使用valgrind的过程
网络上没有针对clion在windows下使用valgrind的中文教程,jetbrains官方的教程也比较含糊,在此写下整个过程和参考的网页教程,woc写完了才发现有教程的https://blog.****.net/u010606602/article/details/80782650。
安装WSL作为valgrind的桥,使得在windows下也能运行valgrind等linux专属的工具。
- 首先要修改镜像源,这个比较简单而且它是根据系统而异的,大体路径就是先cp保存/etc/apt/sources.list,然后删除全部内容再手动添加国内的sources,添加完后要使用
sudo apt-get update;sudo apt-get upgrade;sudo apt-get install build-essential。如果第三个命令出现问题,那么应该是依赖broken的问题,建议直接重装wsl。安装完基础环境后需要再手动安装valgrind和cmake工具,前者直接sudo apt-get即可,后者或许需要源码安装(https://www.linuxidc.com/Linux/2018-09/154165.htm)。 - 之后就可以打开clion,在Setting->Build,Execution,Deployment->Toolchains中新建一个WSL类型的工具链,会自动导入Environment,但是Credentials需要手动设置,这需要wsl提前打开ssh,参照https://www.cnblogs.com/mydailycoding/p/12375273.html,成功连接就会显示Connected。
- 这是一个比较官方的流程,但是我没有找到视频中的sh脚本出处,所以只是参考了他的思路,但没有按照他的做法来:evget.com/video/2616
- 现在以及完成了wsl环境的配置和安装,但是还有问题:
- 直接运行valgrind会显示 cound not found executable valgrind,需要手动添加路径,直接找到子系统在windows下的根目录添加即可C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin
- 如果安装了boost库,那么使用wsl作为工具链时他是找不到的,可以在cmakelists.txt文件中直接引用依赖库(得益于wsl中的/mnt目录)include_directories(/mnt/e/boost_1_73_0)定位到windows系统下的boost库文件就好了。