0

我使用了一些框架,发现某些函数(例如, Rebuild(param1, param2) )有时工作得很慢。

如何收集有关每个函数调用的信息(用于检测最长的调用和参数)?

不适合修改源代码或调用框架外函数的建议。

4

2 回答 2

0

我建议你非常困(http://www.codersnotes.com/sleepy)。它是一个非常易于使用的分析工具。

  • 它将显示函数中传递的时间。(在函数中传递的包含和排除时间都以秒和应用程序执行的百分比给出)
  • 您还将拥有函数的调用堆栈。
  • 还有一些你会自己发现的东西。

您只需运行它并将其附加到您要分析的进程。它不需要(重新)编译任何源代码。

于 2013-07-09T21:20:20.293 回答
0

我的第一个想法可能是使用代码覆盖工具(例如gcov)来检查哪些代码路径在某些测试情况下受到压力,在这些情况下您会观察到这种行为。

另外注入的分析代码(多少次调用与 CPU 时间配置文件,例如GPROF)将有助于进一步找出你的瓶颈。

这两种技术都不会侵入任何源代码,但需要使用某些编译器标志 (GCC) 重新编译。

我很确定 MS Visual Studio 会提供类似的工具。

于 2013-07-09T21:23:16.453 回答