【发布时间】:2011-06-08 14:43:39
【问题描述】:
我有一个大程序要运行。使用 valgrind 需要数小时才能运行。我听说我们可以为程序中的特定功能调用 valgrind。其余程序将正常执行(没有 valgrind env)。 任何人都可以帮我解决这个问题。我尝试通过互联网搜索它,可能是我缺少要搜索的术语。
【问题讨论】:
标签: valgrind
我有一个大程序要运行。使用 valgrind 需要数小时才能运行。我听说我们可以为程序中的特定功能调用 valgrind。其余程序将正常执行(没有 valgrind env)。 任何人都可以帮我解决这个问题。我尝试通过互联网搜索它,可能是我缺少要搜索的术语。
【问题讨论】:
标签: valgrind
这完全取决于您要使用的工具。对于 callgrind(valgrind 中的分析器),有一个选项 --toggle-collect=function 允许您在特定函数及其所有子函数中收集信息。
但是,如果您感兴趣的工具是 memcheck(用于捕获泄漏/内存错误),则没有可用的命令行选项。
【讨论】:
谷歌搜索“仅限 valgrind 配置文件特定功能”并转到“我感到很幸运”
除了启用检测之外,您还必须为部件启用事件收集 您感兴趣的程序。默认情况下,事件收集随处启用。 您可以使用 --toggle-collect=function 将收集限制为特定功能。这将 在进入和离开指定功能时切换集合状态。当这个选项 生效时,程序启动时的默认收集状态是“关闭”。仅发生事件 在给定函数内部运行时将被收集。给定的递归调用 函数不会触发任何动作。
更多here
【讨论】: