I am working on a project with Visual Studio 2008.
What happens if I choose Debug mode but start without debugging? Isn't it a conflict?
What is the relation between these two menus?
Answers. When you start with debugging it allows you to add break points and step through the code as it will load the debugging symbols. If you start without debugging then the symbols dont get loaded so you cannot step through the code with the break points, much like a release build.
By default, Debug includes debug information in the compiled files (allowing easy debugging) while Release usually has optimizations enabled. As far as conditional compilation goes, they each define different symbols that can be checked in your program, but they are language-specific macros.
Start Without Debugging – When you select this option (press Ctrl + F5 ) to run the application, Visual Studio will launch your application without loading the symbols or attaching the Debugger. With this option selected: Application won't pause if you have any breakpoint within the code.
"Start without debugging" just tells Windows to launch the app as it would normally run. "Start with debugging" starts the VS debugger and has it run the app within the debugger. This really doesn't have much to do with the debug/release build settings.
These features are completely orthogonal.
The choice of build does(By default, you can change these settings separately and create new build targets):
Run vs Run without Debugger determines if the debugger gets attached on the started process. By default starting with debugger also disables JIT optimizations.
Debug mode affects compilation; it disables optimizations and generates full debugging symbols.
Start Without Debugging simply runs the EXE normally, without a debugger attached. (as if you double-clicked it in Explorer)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With