使用valgrind过程中碰到的一些问题

在Kali虚拟机上进行性能测试时,由于未安装vmware_tool,通过SSH配置进行文件传输。修改SSH配置文件允许root登录并启动服务,设置开机启动。更新源后升级内核到5.7.0,清理旧包和自动安装的软件。在使用valgrind时遇到错误,通过安装缺失的包解决问题。

1,本想在kali虚拟机上测试某产品的性能消耗。
碰到问题1:想把产品复制到虚拟机,因为没有安装vmware_tool,因此无法复制,所以想了个办法是开通SSH登录,用Xshell登录后通过sz和rz上传下载,接下来就是配置ssh链接的整个过程:
1.修改/etc/ssh/sshd_config配置文件

vi  /etc/ssh/sshd_config

1.找到#PasswordAuthentication yes 把#的注释去掉
在这里插入图片描述
2.将PermitRootLogin without-password修改为:PermitRootLogin yes
在这里插入图片描述
修改完后,按ESC键,shift+:,输入wq。保存退出。

3.然后启动ssh服务

/etc/init.d/ssh start 

4.然后设置开机自动启动

update-rc.d ssh enable
5.这次重启系统并且使用xshell在链接
链接ip为虚拟机ip,端口为22,用户名和密码就是你登录kali虚拟机的账户名和密码
碰到问题2:下载valgrind工具无法连接,因为源除了问题,所以尝试更新源
1,系统查看

 cat /etc/issue
lsb_release -a
显示如下:
No LSB modules are available.
Distributor ID:	Kali
Description:	Kali GNU/Linux Rolling
Release:	2019.4
Codename:	kali-rolling
uname -a
Linux kali 5.3.0-kali2-amd64 #1 SMP
### 在 Windows 环境下使用 Valgrind 检测内存泄漏 Valgrind 是一个广泛使用的内存调试和性能分析工具,主要用于 Linux 系统。然而,在 Windows 上直接运行 Valgrind 并不支持官方原生版本[^1]。尽管存在一些社区驱动的移植项目(如 **Valgrind on Windows (WoW64)**),但其兼容性和稳定性通常较差,尤其在检测复杂程序可能表现出准确性不足的问题。 为了在 Windows 环境中使用 Valgrind 进行内存泄漏检测,可以采用以下方法: --- ### 使用 WSL(Windows Subsystem for Linux) WSL 提供了一个完整的 Linux 兼容内核接口,允许用户在 Windows 上运行 Linux 工具链,包括 Valgrind。此方法是目前最稳定、推荐的方式。 #### 安装步骤: 1. 启用 WSL: ```bash wsl --install ``` 2. 安装 Ubuntu 或其他 Linux 发行版(通过 Microsoft Store)。 3. 更新系统并安装 Valgrind: ```bash sudo apt update sudo apt install valgrind ``` 4. 编译带有调试信息的可执行文件: ```bash g++ -g leak.cpp -o leak ``` 5. 使用 Valgrind 检测内存泄漏: ```bash valgrind --leak-check=full ./leak ``` 该命令将输出详细的内存泄漏报告,包括分配堆栈和泄露大小[^4]。 --- ### 使用 Cygwin Cygwin 提供了一个类 Unix 的环境,可以在其中编译和运行部分 Linux 工具,包括某些版本的 Valgrind。不过需要注意的是,Valgrind 在 Cygwin 下的性能和功能受限,可能无法完整支持所有特性。 #### 安装步骤: 1. 下载安装 [Cygwin](https://www.cygwin.com/)。 2. 在安装过程中选择 `valgrind` 包。 3. 编译程序并运行: ```bash g++ -g leak.cpp -o leak valgrind --leak-check=full ./leak ``` 由于 Cygwin 的限制,这种方式在实际使用中可能会遇到兼容性问题,因此建议优先考虑 WSL 方案[^1]。 --- ### 使用替代工具:Dr. Memory Dr. Memory 是另一个跨平台的内存检测工具,适用于 Windows 和 Linux 系统。虽然它在 Windows 上的支持较好,但在某些场景下的准确性和细节展示上仍略逊于 Valgrind。 #### 使用方式: 1. 下载 Dr. Memory:[https://drmemory.org/](https://drmemory.org/) 2. 配置环境变量后运行检测: ```cmd drmemory -- your_program.exe ``` Dr. Memory 可以检测未初始化内存访问、内存泄漏、越界访问等问题,适合用于 Windows 本地开发环境中的初步排查[^1]。 --- ### 总结 尽管 Valgrind 原生不支持 Windows,但借助 WSL 可以实现高效的内存泄漏检测流程。对于希望保留 Windows 开发环境但又需要使用高级内存分析工具的开发者来说,WSL 是当前最可行且稳定的解决方案。如果仅需基本的内存检查,Dr. Memory 也可以作为备选方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值