Be careful. JayBaz says:
"Set with 'csc /debug[+|-]'. "
then he says:
"Turning on generation of .pdb files doesn't affect the generated code.
It's orthogonal to the optimization flags. "
The second statement is true, but only for /debug

dbonly, it is NOT
true for /debug or /debug+. All versions of /debug (except /debug-, of
course) generate pdb files. The reason is that /debug adds the
[Debuggable] attribute to the assembly which switches off runtime
optimizations and switches on object tracking:
http://msdn.microsoft.com/library/e...sdebuggableattributeclasstopic.asp?frame=true
/debug

dbonly will only generate pdb files and will NOT add
[Debuggable]
Note that deploying pdbs with an assembly means that the exception stack
is richer, but the stack may not be correct because runtime
optimizations may inline code. Of course you can switch that off (the
[Debuggable] attribute, and there's an ini file that can do it too) but
then you will affect your application's performance again.
I really don't like the idea of using customers as testers (which is
suggested if you deploy pdbs), that's the work that your QA department
should do. However, I do understand that if you get a bug report from a
customer you will want to determine what the issue is and fix it. You
have to decide your own policy.
Indeed. Managed C++ added this feature in 1.1 as well.
Richard