標籤:.pdb c# comipler debug clr
在用Visual Studio建立項目之後,進行編譯,總會發現.pdb檔案:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7D/BB/wKiom1buleaTbVZwAAAaXSrYIu0064.png" title="pdb_file.png" alt="wKiom1buleaTbVZwAAAaXSrYIu0064.png" />
在CLR Via C#中講到,.pdb檔案是用來調試用的。pdb是Program Database的簡寫,它能夠進行source code和IL之間的映射。
The compiler produces a Program Database (PDB) file only if you specify the /debug(+/full/pdbonly) switch. The PDB file helps the debugger find local variables and map the IL instructions to source code.【這是IL和Source Code之間的映射】 The /debug:full switch tells the JIT compiler that you intend to debug the assembly, and the JIT compiler will track what native code came from each IL instruction【這是IL和native code之間的映射】. This allows you to use the just-in-time debugger feature of Visual Studio to connect a debugger to an already-running process and debug the code easily【/debug:full提供的功能,是不是指“附加到進程”呢?】. Without the /debug:full switch, the 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 the Visual Studio debugger, it forces the JIT compiler to track the IL to native code information (regardless of the /debug switch) unless you turn off the Suppress 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:pdbonly switches specified.【在Visual Studio中Debug和Release兩個選項,對這兩個參數的影響】
《CLR Via C#》Visual Studio編譯之後的.pdb檔案