我有一个正在Qt Creator中开发的c ++应用程序(Qt Creator 4.7.0,Qt版本5.2.1)。该应用程序在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 =是--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的调用更改的位置。工具->选项->分析器-> Valgrind似乎不允许我更改日志记录行为。
我不知道是什么导致了最后一个错误。 Qt文档使我似乎应该要做的就是按go,它应该可以工作。
感谢您的帮助!
答案 0 :(得分:0)
删除选项xml-socket
,log-socket
和xml=yes
对我有用。它删除了警告并解决了断言。