dotTrace:谁在调用我的方法?
dotTrace: Who's calling my method?
我正在使用 dotTrace 分析存在一些性能问题的编译器。作为一个编译器,调用堆栈是高度递归的,在调用树视图中折叠往往会使事情变得更加混乱。
当我按自己的时间对 Plain List 视图进行排序时,我发现某个方法使用了大量的 运行 时间。查看代码,我无能为力使该方法更快,但我相信添加一些记忆可以做到这一点,因此几乎不需要经常调用它。问题是,我费了好大劲才想出在哪里添加它。
当您在普通列表视图的顶部窗格中单击一个方法时,它会在底部窗格中显示该方法调用的方法,这很有用,但据我所知它并没有给出您可以获得 哪些方法正在调用此方法 的更有用的信息。有什么方法可以获取相关的统计信息,这样我就知道应该把重点放在添加记忆上吗?
在 All Calls
选项卡的普通列表视图中,只需右键单击您的方法并 select Open Current Method Instance
(或 select 方法并按 CTRL+T
).这会在 dotTrace 中为您的方法打开一个新选项卡。
在这个新选项卡中,单击左侧的 Backtrace
视图以查看对该方法的所有调用。
我正在使用 dotTrace 分析存在一些性能问题的编译器。作为一个编译器,调用堆栈是高度递归的,在调用树视图中折叠往往会使事情变得更加混乱。
当我按自己的时间对 Plain List 视图进行排序时,我发现某个方法使用了大量的 运行 时间。查看代码,我无能为力使该方法更快,但我相信添加一些记忆可以做到这一点,因此几乎不需要经常调用它。问题是,我费了好大劲才想出在哪里添加它。
当您在普通列表视图的顶部窗格中单击一个方法时,它会在底部窗格中显示该方法调用的方法,这很有用,但据我所知它并没有给出您可以获得 哪些方法正在调用此方法 的更有用的信息。有什么方法可以获取相关的统计信息,这样我就知道应该把重点放在添加记忆上吗?
在 All Calls
选项卡的普通列表视图中,只需右键单击您的方法并 select Open Current Method Instance
(或 select 方法并按 CTRL+T
).这会在 dotTrace 中为您的方法打开一个新选项卡。
在这个新选项卡中,单击左侧的 Backtrace
视图以查看对该方法的所有调用。