Qt Creator无法配置远程Valgrind求助:Mac本地Valgrind无法使用
解决Qt Creator配置远程Valgrind的问题
我之前也踩过Mac本地Valgrind不好用的坑,转而用VirtualBox里的Ubuntu跑远程Valgrind,给你梳理下关键配置步骤,应该能搞定:
第一步:先把Ubuntu虚拟机的环境准备好
- 安装Valgrind:在Ubuntu终端里跑
sudo apt update && sudo apt install valgrind,装完用valgrind --version确认版本(建议3.18+,兼容性比老版本好太多)。 - 开启SSH服务:Qt Creator是通过SSH连远程主机的,所以得装并启动SSH:
sudo apt install openssh-server,然后sudo systemctl start sshd,再设开机自启sudo systemctl enable sshd。 - 测试Mac到Ubuntu的SSH连接:在Mac终端里输入
ssh 你的Ubuntu用户名@虚拟机IP,能顺利登录就说明网络没问题。要是VirtualBox用的NAT模式,记得设置端口转发(把Ubuntu的22端口转到Mac的某个端口,比如2222,然后用ssh 用户名@localhost -p 2222连接)。
第二步:配置Qt Creator的远程设备和Valgrind
- 打开Qt Creator,点顶部菜单栏的
工具->选项。 - 左侧选
设备,切到远程设备标签,点击添加,选Generic Linux Device。 - 填好Ubuntu的IP、用户名、密码,点
测试连接,显示成功就保存这个设备。 - 回到
选项,选分析器->Valgrind,在远程板块选刚才配置的设备,Valgrind路径填Ubuntu里的默认路径/usr/bin/valgrind(不确定的话在Ubuntu终端用which valgrind查)。 - 最后打开你的项目,切换到
分析模式,选内存检查(Valgrind Memcheck),运行配置里选远程设备,点运行就能开始分析了。
几个要注意的坑
- Mac本地的Valgrind 3.13.0对新MacOS兼容性极差,别在这浪费时间,远程Ubuntu是更靠谱的方案。
- 确保远程Ubuntu的Qt版本和你项目编译用的版本尽量匹配,不然可能因为库版本不兼容导致分析失败。
- 要是连接失败,先检查VirtualBox的网络设置,桥接模式最省心(只要Mac和Ubuntu在同一局域网),NAT模式一定要配置端口转发。
顺便提一句,Qt官方文档里说的远程Valgrind运行逻辑,核心就是通过SSH让Qt Creator把程序传到Ubuntu,调用Valgrind分析后把结果传回本地显示,所以SSH连接是整个配置的核心。
内容的提问来源于stack exchange,提问作者Teimuraz
相关产品推荐
相关产品推荐

