valgrind / callgrind:什么是`_dl_runtime_resolve_xsave`
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了valgrind / callgrind:什么是`_dl_runtime_resolve_xsave`相关的知识,希望对你有一定的参考价值。
我目前正在尝试分析和调试我正在使用的库的性能问题。出于这个原因,我写了一个简短的C++
代码,它将使用该库的一些核心功能并在其上运行一个简单的计时器。
为了更深入地潜水,我现在开始使用带有--tool=callgrind
选项的valgrind。我使用kcachegrind
可视化结果。我以前做过这个,并且(原则上)知道这是如何工作的。
但是,我很惊讶地看到这样的模式:
main
|
myfunc()
|
_dl_runtime_resolve_xsave
在此之后,调用图只是停止,即使我可以在列表中看到更多的低级函数。
我相信调用图的这种结构可能与使用多处理的库有关,我之前没有使用过valgrind。但是,使用谷歌,我无法找到这个特定函数调用的解释。
有人可以向我解释我在这里看到的内容,以及为什么调用图在这个函数调用时看似断开?
答案
我认为当您将共享库加载到程序中时会调用那些“_dl_runtime_resolve *”函数。我通常会在每个库函数中看到其中一个函数,只调用一次或两次。我会忽略它们。
以上是关于valgrind / callgrind:什么是`_dl_runtime_resolve_xsave`的主要内容,如果未能解决你的问题,请参考以下文章
是否有工具可以检查两个 callgrind/valgrind 配置文件的差异?
valgrind/callgrind 可以在发布的可执行 C++ 程序上工作吗?