After you create a new project with Visual Studio, you compile and always find the. pdb file:
650) this.width=650; "src=" Http://s2.51cto.com/wyfs02/M02/7D/BB/wKiom1buleaTbVZwAAAaXSrYIu0064.png "title=" pdb_ File.png "alt=" Wkiom1buleatbvzwaaaaxsryiu0064.png "/>
As mentioned in CLR Via C #,. pdb files are used for debugging purposes. The PDB is shorthand for program database, which allows mapping between source code and IL.
The compiler produces a program Database (PDB) file is only if you specify the/debug (+/full/pdbonly)Switch.The PDB fileHelpsThe debugger find local variables andMap the IL instructions to source code . "This is the mapping between IL and source code" the/debug:fullSwitch tells theJIT CompilerThat's intend toDebug the Assembly, and theJIT Compilerwould track whatnative CodeCame fromEach IL instruction"This is the mapping between IL and native code." This allows-Just-in-time debugger feature of Visual Studio to connect a debugger to an already-running proc ESS and debug the code easily "/debug:full provides functionality, does it mean" attach to process "? 】.withoutThe/debug:fullSwitchThe JIT compiler does not, by default,Track the IL to native code information, which makes the JIT compiler run a little faster and also uses a little less memory. If you start a process with theVisual Studiodebugger, it forces theJIT CompilerToTrack the IL to native code information(regardless of the/debug switch) unless you turn off thesuppress JIT optimization on Module Load (Managed only)option in Visual Studio.
When you create a new C # project in Visual Studio, the Debug configuration of the project has /optimize- -and /debug:full switches, and the Release configuration has /optimize+ and /debug:pdbonl Y switches specified. "Debug and release two options in Visual Studio, effects on these two parameters"
"CLR Via C #". pdb file after Visual Studio compilation