0

我正在使用 Valgrind 调试 OpenCV 应用程序。我的应用程序经常因分段错误错误而停止。我认为这与内存有关,所以我在 Eclipse 中使用 Valgrind 对其进行了调试。不幸的是,当我在 Eclipse 中运行 valgrind 配置文件时,它返回:无法连接到 X 服务器并且 valgrind 停止执行我的应用程序。

根据这篇文章,我已将 DISPLAY 变量设置为 0.0,但仍然发生相同的行为。我也尝试安装 xorg 和 openbox,但仍然没有任何反应。

该应用程序一直运行到我调用“cvNamedWindow(WINDOW_TITLE, CV_WINDOW_AUTOSIZE);”之前。在执行该行时,Valgrind 输出: cannot connect to X server然后停止。

根据我之前使用 Valgrind 的经验,我希望它会执行应用程序,并在发生内存问题/应用程序终止时退出,因为如果我正常运行应用程序(分段错误)就会发生这种情况。另外,这就是我以前在应用程序中调试多线程的方式。

任何帮助表示赞赏。谢谢!

4

1 回答 1

0

我尝试在终端中使用 valgrind、root 权限运行应用程序:

`sudo valgrind --tool=memcheck <path-to-application>/myapp`

它有效。似乎 Eclipse 插件没有对 X 服务器/显示器的 root 访问权限。问题已经解决了

于 2013-07-26T01:34:24.497 回答