【发布时间】:2019-04-16 20:43:52
【问题描述】:
我想知道:当 .Net 在抛出异常时在 Release 构建中生成堆栈跟踪时,行号通常是关闭的,而且在分析源代码时应该存在的一些堆栈帧甚至没有打印出来,因为它们 - 大概 -优化了。
因此,当 Visual Studio 表示在 CPU 对发布版本进行采样时在方法 X 上花费了大量时间时,这是否值得信任,或者它是否也可能由于优化而被关闭?
【问题讨论】:
-
您在询问什么结果,为什么您认为它们不准确?
-
我认为您可以确定 Visual Studio 的分析考虑了编译器优化。您对此有实际问题吗?
-
我认为这需要链接 Speed Rant:ericlippert.com/2012/12/17/performance-rant 基本上在 JiT 编译的垃圾收集运行时中获得高可靠性基准是很难的。
标签: c# .net visual-studio profiling