Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 谁在调用我的方法?_C#_.net_Jetbrains Ide_Dottrace - Fatal编程技术网

C# 谁在调用我的方法?

C# 谁在调用我的方法?,c#,.net,jetbrains-ide,dottrace,C#,.net,Jetbrains Ide,Dottrace,我正在使用dotTrace分析一个存在性能问题的编译器。作为一个编译器,调用堆栈具有很强的递归性,在调用树视图中进行折叠往往会使事情变得更加混乱 当我按自己的时间对普通列表视图进行排序时,我发现某个方法使用了大量的运行时。看一下代码,我没什么办法让这个方法更快,但我相信添加一些记忆可以让它更快,所以它几乎不需要被频繁调用。问题是,我花了很长时间才弄清楚在哪里添加它 当您在普通列表视图的顶部窗格中单击一个方法时,它会在底部窗格中显示此方法调用的方法,这有点有用,但据我所知,它并没有为您提供有关调用

我正在使用dotTrace分析一个存在性能问题的编译器。作为一个编译器,调用堆栈具有很强的递归性,在调用树视图中进行折叠往往会使事情变得更加混乱

当我按自己的时间对普通列表视图进行排序时,我发现某个方法使用了大量的运行时。看一下代码,我没什么办法让这个方法更快,但我相信添加一些记忆可以让它更快,所以它几乎不需要被频繁调用。问题是,我花了很长时间才弄清楚在哪里添加它


当您在普通列表视图的顶部窗格中单击一个方法时,它会在底部窗格中显示此方法调用的方法,这有点有用,但据我所知,它并没有为您提供有关调用此方法的方法的更有用的信息。是否有任何方法可以获取有关该方法的统计信息,以便我知道在何处添加备忘录?

在“所有调用”选项卡的普通列表视图中,只需右键单击您的方法并选择“打开当前方法实例”,或选择该方法并按CTRL+T。这将在dotTrace中为您的方法打开一个新选项卡


在这个新选项卡中,单击左侧的回溯视图,查看对该方法的所有调用。

太棒了,谢谢!它显示96%的调用来自一个特定的地方,所以现在我知道应该关注哪里了……在添加了memonization之后,整个编译周期的运行时间减少了50%以上,再次感谢!