According to msdn http://msdn.microsoft.com/en-us/library/8cw0bt21.aspx , both compilation setting "/debug:pdbonly" and "/debug:full" will make .pdb (Program Database) files be generated.
However, what is the difference?
The page says: "One difference between /debug:pdbonly and /debug:full is that with /debug:full the compiler emits a DebuggableAttribute, which is used to tell the JIT compiler that debug information is available. Therefore, you will get an error if your code contains the DebuggableAttribute set to false if you use /debug:full."
Fine, so this is a possible conflict between the code and the compilation setting, if the code turned DebuggableAttribute to false and compilation set to /debug:full, JIT will get lost.
But is this the only difference between compilation setting "/debug:pdbonly" and "/debug:full" ?
Will there be security issue, if pdb files with "/debug:pdbonly" or "/debug:full" compilation are delivered to end users?