OS X Lion中的Valgrind


2

我不确定这个问题是否更适合stackoverflow,但我想我先问这里。

前几天,我尝试运行我的一个针对valgrind的程序来检查内存泄漏。令我惊讶的是,终端报告说无法找到valgrind。此外,似乎没有valgrind的手册页。

我确信我曾经在这台计算机上安装了valgrind,但是有一段时间没有使用它,所以我不能说它什么时候消失了。这可能与我更新到OS X Lion有关吗?谁知道?


1
这在这里完全没问题 - OS X的更新/升级和基本终端问题在这里是非常重要的主题。如果你觉得它更好,你可以要求它进行迁移,但我会说你今天应该得到几个答案。
bmike

Answers:


1

我首先从终端进行聚光灯搜索,然后mdfind valgrind检查你的路径变量,以便在深入挖掘之前排除一些简单的错误。您将需要确保您拥有版本3.7.0的valgrind,因为它是第一个在发行说明中声明与Lion兼容的版本。


这就是我的路径设置为echo $ PATH / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin是否缺少/不需要那里?
finiteloop

1
这是Lion的正确默认路径。您必须将valgrind二进制文件的实际路径添加到路径中,或者在路径中添加新的valgrind二进制文件。如果您只是抓取并编译源代码,/ usr / local / bin可能是最佳位置。如果mdfind没有显示任何内容,你需要做第二次 - 再次获取它,因为它不在那里。您可以在Time Machine中查找旧的valgrind,但如果比2011
bmike

听起来不错。我刚去看看那个目录,令我惊讶的是,它已被删除。另外,我刚注意到我的计算机上也没有svn(我知道我最近一周左右就有这个)。你认为我的/ usr / local / bin目录最近被删除了,这是我的valgrind和svn已经消失了吗?
finiteloop

毫无疑问,清除/ usr / local / bin很可能是您遇到困难的原因。观看自制网站的更新,因为Apple改变了Xcode和4.3版本的开源编译器,因此很多人目前正在经历路径调整的痛苦。
bmike

刚刚通过我的Time Machine回到2011年3月。该目录从未在这台机器上存在过。所以刮开那个理论。我担心valgrind和svn似乎都消失了。也许可能会有一个更大的问题?有人知道这两件事以前是否曾被同一来源或类似事件安装过?
finiteloop

0

Lion安装过程可能已将您的PATH设置修改为不包括valgrind的位置。我会用locate命令或类似命令进行搜索,看看它是否安装在你的mac上,某处。如果你在你的mac上找到它,那么你应该将valgrind添加回你的路径。此外,寻找更新以更好地支持Lion升级可能不是一个坏主意。最糟糕的情况下,您需要重新下载并安装valgrind。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.