valgrind / callgrind:什么是_dl_runtime_resolve_xsave

时间:2018-06-26 09:02:06

标签: multiprocessing valgrind callgrind

我目前正在尝试分析和调试正在使用的库的性能问题。因此,我编写了一个简短的C++代码,该代码将使用该库的某些核心功能并在其上运行一个简单的计时器。

为了更深入,我现在开始使用带有--tool=callgrind选项的valgrind。我使用kcachegrind可视化结果。我以前已经做过,并且(基本上)知道它是如何工作的。

但是,我很惊讶地看到这样的模式:

main
  |
myfunc()
  |
_dl_runtime_resolve_xsave

此后,即使在列表中似乎可以看到更多低级函数,调用图也将停止。

我相信调用图的这种结构可能与使用多重处理的库有关,而我之前从未使用过valgrind。但是,使用google时,我找不到此特定函数调用的说明。

有人可以向我解释我在这里看到的内容,以及为什么在此函数调用中调用图似乎断开了吗?

1 个答案:

答案 0 :(得分:2)

我认为在将共享库加载到程序中时会调用那些“ _dl_runtime_resolve *”函数。我通常会在每个库函数中看到其中之一,仅被调用一次或两次。 我只是忽略它们。