1

我发现一些代码非常慢(将 10 秒的应用程序变成 60 秒的应用程序)。我发现使用“随机暂停应用程序并查看它在哪里”技巧的慢代码。慢代码位于第 3 方许可函数调用中,该函数调用正在检查许可服务器以获取有效许可。

当我尝试使用 Intel 的 VTune 放大器进行分析时,这个缓慢的函数调用并没有显示为花费太多时间。我不知道为什么,但我猜函数调用在等待许可证服务器响应或类似的东西时必须休眠,这会欺骗 VTune 不将其识别为瓶颈。有没有办法让 VTune 识别这样的呼叫?

4

1 回答 1

2

我能够通过使用Locks and Waits分析模式而不是Basic Hotspots分析模式来显示它。使用Locks 和 Waits,我可以看到该select函数是我的顶级阻塞调用之一,并且我可以将该调用追溯到我的应用程序代码以查看它是如何被调用的。

于 2015-02-19T00:39:42.763 回答