将 Valgrind 限制为特定函数

发布于 2024-11-14 15:01:29 字数 145 浏览 1 评论 0原文

我有一个大程序要运行。使用 valgrind 需要几个小时才能运行。我听说有一些东西我们可以为程序中的特定函数调用 valgrind 。程序的其余部分将正常执行(没有 valgrind env)。 任何人都可以帮我解决这个问题吗?我尝试通过互联网搜索它,可能是我缺少搜索术语。

I have a big program to run. Using valgrind it takes hours and hours to run. I heard that there is something where we can call valgrind for a specific function in the program. And rest of program will be executed normally(without valgrind env).
Can anybody help me with this. I tried searching it over internet , May be I am missing the term to search.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖乖兔^ω^ 2024-11-21 15:01:29

这完全取决于您想要使用什么工具。对于 callgrind(valgrind 中的探查器),有一个选项 --toggle-collect=function 允许您收集特定函数及其所有子函数内的信息。

但是,如果您感兴趣的工具是 memcheck(用于捕获泄漏/内存错误),则没有可用的命令行选项。

It all depends on what tool you're wanting to use. For callgrind (the profiler in valgrind) there is an option --toggle-collect=function to allow you to collect information inside a particular function and all its children.

However if the tool you're interested in is memcheck (for capturing leaks / memory errors) then there is no available command line option.

心头的小情儿 2024-11-21 15:01:29

谷歌搜索“仅 valgrind 配置文件特定功能”并转到“我感到幸运”

除了启用检测之外,您还必须为部件启用事件收集
您感兴趣的程序的名称。默认情况下,事件收集在任何地方都启用。
您可以使用 --toggle-collect=function 将收集限制为特定函数。这将
在进入和离开指定功能时切换收集状态。当这个选项
生效后,程序启动时的默认收集状态为“关闭”。仅发生事件
在给定函数内部运行时将被收集。给定的递归调用
函数不会触发任何操作。

更多信息此处

Googling "valgrind profile specific function only" and go "I feel lucky"

In addition to enabling instrumentation, you must also enable event collection for the parts
of your program you are interested in. By default, event collection is enabled everywhere.
You can limit collection to a specific function by using --toggle-collect=function. This will
toggle the collection state on entering and leaving the specified functions. When this option
is in effect, the default collection state at program start is "off". Only events happening
while running inside of the given function will be collected. Recursive calls of the given
function do not trigger any action.

More here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文