Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Qt Creator中为valgrind启用--leak check=yes?_Qt_Memory Leaks_Qt Creator_Valgrind - Fatal编程技术网

如何在Qt Creator中为valgrind启用--leak check=yes?

如何在Qt Creator中为valgrind启用--leak check=yes?,qt,memory-leaks,qt-creator,valgrind,Qt,Memory Leaks,Qt Creator,Valgrind,系统信息:Ubuntu 16.04、Qt Creator 4.2.0、valgrind 3.12.0 从控制台使用valgrind输出详细泄漏分析时,我是这样做的: valgrind--leak check=yes./my_应用程序--a_参数 由于我想使用Qt Creator的输出格式和对报告问题的过滤,我尝试在编辑器中使用valgrind,但我无法为valgrind本身配置任何参数(例如--leak check)。该对话框如下所示: 我可以在配置文件或隐藏对话框选项中的某个位置执行此操作吗

系统信息:Ubuntu 16.04、Qt Creator 4.2.0、valgrind 3.12.0

从控制台使用valgrind输出详细泄漏分析时,我是这样做的:

valgrind--leak check=yes./my_应用程序--a_参数

由于我想使用Qt Creator的输出格式和对报告问题的过滤,我尝试在编辑器中使用valgrind,但我无法为valgrind本身配置任何参数(例如--leak check)。该对话框如下所示:

我可以在配置文件或隐藏对话框选项中的某个位置执行此操作吗


Edit:我接受了明确提到--leak check选项的答案,但其他提到Qt Creator内部的包装器脚本的答案是一个非常好的选择。不幸的是,与控制台的valgrind相比,Qt Creator中的输出仍然存在差异,因此我猜Qt Creator中使用了抑制文件。。。但这是另一个主题。

将“完成时检查泄漏”选项值设置为“完全”:


这将产生
'--leak check=full'
valgrind选项,该选项相当于
'--leak check=yes'

将“完成时检查泄漏”选项值设置为“full”:


这将产生
'--leak check=full'
valgrind选项,它相当于
'--leak check=yes'

,在最坏的情况下,您可以使用所需的选项为
valgrind
二进制文件创建包装。您可以在以下位置创建一个可执行文件
valgrind

#!/bin/bash
exec /usr/bin/valgrind --leak-check "$@"

然后在QtCreator设置中,将新文件的文件路径放入
Valgrind executable
字段

在最坏的情况下,您可以使用所需的选项为
valgrind
二进制文件创建包装。您可以在以下位置创建一个可执行文件
valgrind

#!/bin/bash
exec /usr/bin/valgrind --leak-check "$@"

然后在QtCreator设置中,将新文件的文件路径放入
Valgrind executable
字段

谢谢,但结果不同。我故意将不同的泄漏代码行放在不同的源文件中,通过控制台使用valgrind正确检测到这些代码行。我已经在对话框中使用了设置,但它们似乎还有另一个影响。您如何知道此选项应反映“-leak check=yes”功能?如果我想以另一种方式定制valgrind的行为呢?我已经检查了Qt创建者。你已经完成了你的家庭作业!:-)“是”和“完全”之间只有很小的区别,所以我将进一步研究。暂时谢谢你!只是澄清一下:要打开valgrind设置,您需要单击顶部菜单中的“工具”,然后单击左侧列表中的“参数”,然后单击“分析器”。谢谢,但结果不同。我故意将不同的泄漏代码行放在不同的源文件中,通过控制台使用valgrind正确检测到这些代码行。我已经在对话框中使用了设置,但它们似乎还有另一个影响。您如何知道此选项应反映“-leak check=yes”功能?如果我想以另一种方式定制valgrind的行为呢?我已经检查了Qt创建者。你已经完成了你的家庭作业!:-)“是”和“完全”之间只有很小的区别,所以我将进一步研究。暂时谢谢你!只是澄清一下:要打开valgrind设置,您需要单击顶部菜单中的“工具”,然后单击左侧列表中的“参数”,然后单击“分析器”。谢谢您的提示。过去我在一些特殊配置中使用过这种方法。我暂时保留这个问题,但这绝对是一个有效的解决方案:-)谢谢你的提示。过去我在一些特殊配置中使用过这种方法。我暂时保留这个问题,但这绝对是一个有效的解决方案:-)