2013-03-18 120 views
1

我在我的主目录下的SUSE Linux SLES 11SP2上安装了Valgrind,并将其添加到路径中。然后,我为C/C++ Service Release 2 Build id:20130225-0426安装了eclipse Juno并安装了Valgrind插件。Eclipse未找到Valgrind

当我尝试使用Valgrind创建配置文件配置时,我收到一条错误消息: “[Valgrind选项]:无法确定Valgrind的版本”,虽然它允许我进行配置,但它阻止我继续通过灰化除关闭按钮外的所有按钮。

我知道我缺少像eclipse中定义Valgrind可执行文件的位置这样的小事,但我无法找到它,不在项目属性中,也不在窗口首选项中。

我会感谢您的帮助。

回答

0

好的,我想通了。

我将Valgrind安装移到了一个新的共享位置,并用一台新计算机(相同的架构)试用了它。

它并未影响我安装它的原始计算机,但Valgrind遇到了新问题,如自述文件中所示(我同时忘记了): “Important! Do not move the valgrind installation into a place different from that specified by --prefix at build time. This will cause things to break in subtle ways, mostly when Valgrind handles fork/exec calls.”

这导致运行与消息独立时Valgrind的突破: “valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory”

然而从Eclipse中运行Valgrind的时候,它可能它翻译成消息: "[Valgrind Options]: Couldn't determine version of Valgrind"

总之:不要移动Valgrind安装但重新安装它。这个来自eclipse的消息表明,安装Valgrind发生了一些不好的事情,而不是它找不到它。

0

我得到相同的错误,但它不是由您给出的解释造成的。

如果您在Mac OS X上使用valgrind,则可能会出现此错误,因为valgrind通常未安装在eclipse正在查找的目录中。为了在mac上解决这个问题,你需要输入ln -s valgrind_location/usr/bin/valgrind来创建一个到valgrind位置的符号链接。请注意,这与日食网站http://wiki.eclipse.org/Linux_Tools_Project/Valgrind/User_Guide上的方向有所不同。出于某种原因,他们在其网站上向后拨打电话。一旦我做了这个更正valgrind从Eclipse内正确工作。

所以在Mac上,至少不能确定valgrind版本的错误至少与eclipse无法找到该文件相匹配。

+0

在MacOS Sierra(可能更新的版本)中,'/ usr/bin'受系统完整性保护保护,系统完整性保护可防止创建符号链接,即使是root用户也是如此。由于禁用SIP可能是一个非常糟糕的想法,我不确定我们能做些什么,除了可能重新编译Linux Tools来在'/ usr/local/bin'中查找Valgrind呢? – meowsqueak 2018-02-05 21:18:59