我想计算自应用程序启动以来执行以下方法的次数。我怎么能这样做?
System.Drawing.Graphics.FromHdcInternal(IntPtr hdc)
System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)
答案 0 :(得分:2)
我可以想到两种方式。一种是使用分析器,这可能是最简单的。
另一种方法是将调用包装在一个为你计算的函数中。查找和替换将完成剩下的工作。
private int invokeCount = 0;
public static Graphics FromHdcInternalWrapped(IntPtr hdc)
{
invokeCount++;
return Graphics.FromHdcInternal(hdc);
}
就个人而言,我会坚持使用探查器。
答案 1 :(得分:2)
AQtime没有任何困难。
答案 2 :(得分:1)
规范,最简单的方法可能是简单地使用分析器应用程序。就个人而言,我对jetBrains dotTrace有很好的体验,但还有更多经验。
基本上你所做的就是让探查器启动你的应用程序,它会跟踪代码中的所有方法调用。然后它会显示执行这些方法所花费的时间,以及它们被调用的次数。
假设您想要了解这一点的原因实际上是性能,我认为查看分析器是个好主意。您可以尝试通过对瓶颈所在位进行有根据的猜测来优化代码,但如果使用分析器,则可以实际测量。我们都知道,测量两次,切一次; - )