繁体   English   中英

如何使用 Valgrind 和 Qt Creator 调试远程应用程序?

[英]How to use Valgrind with Qt Creator to debug a remote application?

我有一个正在 Qt Creator(Qt Creator 4.7.0,Qt 版本 5.2.1)中开发的 c++ 应用程序。 该应用程序在 beaglebone (debian) 上运行。 我正在使用 Qt Creator 的远程调试调试应用程序。

该应用程序存在一些内存问题,因此我尝试使用 Valgrind 来诊断它们。 每当我从 Qt Creator 开始 Memcheck 分析时,它的输出都是:

16:22:58:/usr/local/bin/valgrind --child-silent-after-fork=yes --xml-socket=10.0.2.15:38409 --log-socket=10.0.2.15:43999 --xml =yes --smc-check=all --tool=memcheck --gen-suppressions=all --track-origins=yes --leak-check=full --num-callers=25 --vgdb=yes --vgdb -error=0 /home/debian/MyApp

==28159== 无法连接到日志服务器“10.0.2.15:37567”。

==28159== 日志消息将被发送到 stderr。

==28159== 无法连接到 XML 日志服务器“10.0.2.15:39405”。

==28159== XML 输出将被发送到 stderr。

valgrind: m_libcprint.c:384 (prepare_sink_socket): 断言 'sink->fd == 2' 失败。

16:27:13:分析完成。

为了解决前两个错误,我想更改对 valgrind 的调用,以使日志记录写入文件。 但是,我找不到在哪里更改 Qt Creator 对 valgrind 的调用。 Tools->Options->Analyzer->Valgrind 似乎不允许我更改日志记录行为。

我不知道是什么导致了最后一个错误。 Qt 文档让我觉得我应该做的就是按 go,它应该可以工作。

任何帮助表示赞赏!

删除选项xml-socketlog-socketxml=yes对我有用。 它删除了警告并解决了断言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM