Some time ago I\'ve read an article on CLR, where author showed that if a project is compiled in DEBUG mode, before each operator comes a NOP command, thus allowing to debug
Debugging .net code so that you can step through the source code while it is executed usually requires three things:
Symbols are controlled by the /debug:{full | pdbonly} flag. If you specify /debug:full
(even in a release build, with compiler optimizations turned off) you may attach to an already running process and step through code. If you have /debug:pdbonly
, then you must use the debugger to start the program (and cannot view symbols when attaching to an already running process).
Optimization is controlled granularly by the /debug compiler option, but can be further controlled by the /optimize-.