Windbg 查找哪个方法正在花费时间
我有一个页面需要一些时间才能加载。使用windbg可以找到哪个方法花费时间吗?
谢谢
I have a page which is taking time to load. It is possible to find which method is taking time using windbg?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不需要调试器。您需要一个分析器。
You dont need a debugger. You need a profiler.
wt(跟踪和观察数据)将为您提供函数或指令范围内的指令计数。不过,这不会为您提供时间信息,因此,如果您阻止 IO,则不会在此处显示时间信息。
!runaway 会让您知道每个线程使用的时间,因此如果这是系统性的,则可以缩小范围。
最后,AMD CodeAnalyst 是一款免费的分析器,效果非常好,可以帮助您准确地了解您的时间都花在系统中的哪个位置。确保将轮询频率设置为 0.1 毫秒。
wt (Trace and Watch Data) will give you an instruction count over a function or instruction range. This won't give you time information, though, so if you're blocking on IO it won't be revealed here.
!runaway will let you know time used per thread, so that may narrow it down if this is systematic.
Finally, AMD CodeAnalyst is a free profiler that works great and will help you figure out exactly where in the system your time is being spent. Make sure to set the polling frequency to .1ms.