Basic trivia to those with long Microsoft development backgrounds, but I only learned this recently. In a nutshell Release v’s Debug simply enables/disables compilation options. With one minor tweak we can deliver Release Mode builds with Debug Symbols. Compile time and JIT optimization is not affected, but you will get lines numbers in logged stack traced traces.
Can anyone tell me why one would NOT always deploy pbd (debug symbols) files with your code other than IP issues? “Because we hate all developers and it makes Management’s day watching them debug blind” is not a valid answer.
Coupled with log4net deploying pdbs really helped me stabilize a nightmare headless process on my last assignment. What is log4net I hear many ask? Attend the first fifteen minutes of my Atlanta Code Camp presentation or read a post or two like this:
http://blogs.acceleration.net/ryan/archive/2004/11/10/380.aspx
Do I hear a few voices at the back are saying they love EIF and the MS Application Block? If you are using them already then probably stick with them as they do work, if not scan these posts and make an educated decision:
http://weblogs.asp.net/cazzu/archive/2004/05/17/133196.aspx
http://www.cauldwell.net/patrick/blog/CommentView,guid,13345.aspx
http://dotnetjunkies.com/WebLog/kenbrubaker/archive/2004/10/04/27581.aspx
There are many more posts debating EIF and log4net:
http://www.google.com/search?hl=en&lr=&q=log4net+eif