dotTrace:谁在调用我的方法?

时间:2016-05-17 09:33:00

标签: c# .net jetbrains-ide dottrace

我使用dotTrace来分析有一些性能问题的编译器。作为一个编译器,调用堆栈是非常递归的,并且在调用树视图中折叠往往会使事情更容易混淆。

当我按自己的时间排序普通列表视图时,我发现某种方法正在使用大量的运行时间。看一下代码,我没有太多办法可以让这个方法更快,但我相信添加一些memoization可以使它不需要像往常一样被调用。问题是,我很想知道在哪里添加它。

当您在“普通列表”视图的顶部窗格中单击某个方法时,它会显示此方法在底部窗格中调用的方法,这种方法很有用,但尽管我可以告诉它并不能给出你是调用这种方法的方法的更有用的信息。有没有办法获得有关的统计信息,所以我知道在哪里专注于添加记忆?

1 个答案:

答案 0 :(得分:4)

All Calls标签的普通列表视图中,只需右键单击您的方法,然后选择Open Current Method Instance(或选择方法并按CTRL+T)。这将在dotTrace中为您的方法打开一个新选项卡。

在此新标签页中,点击左侧的Backtrace视图,查看对该方法的所有调用。