开发者

Debug symbols performance issues (FFDA)

I have a question about debug symbols in .NET environments, especially 开发者_StackOverflow中文版ASP.NET. I know that compiling in Debug mode prevents the code from being optimized, thus losing potential performance boosts.

However, debug symbols can prove useful if I want to perform FFDA, ie. when I get an exception from a deployed application I can still see the line numbers in its stack trace once I log it.

So, my questions are:

  1. Do debug symbols slow down the application continuously during its normal lifecycle? Or is it the same as running a non-optimized code without symbols?
  2. When are they used by the framework (ie. when does the slow-down occur)? I know for sure when an exception is thrown, but are there other situations?
  3. Would you suggest me to do like Microsoft did: compile the application in Release mode but with symbols so I get optimization at the cost of having approximate line numbers in stack traces?

Explaining question 2: my main concern is about ASP.NET pages. If the page cycle runs well, I wouldn't like any performance decrease to occur so my server can have a better throughput, but when something bad happens (ie. unhandled exception) I want to pay the cost of performance decrease in ordert to get a better stack trace, especially for all the times I had to debug Mono.

My goal is to ease investigating bugs in applications that have been already deployed into their real-world scenario and that log any problem that needs attention.

Thank you for your time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜