|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
General, Debugging, Options Dialog Box
To access the General page, click the Tools menu and select Options. In the Options dialog box, expand the Debugging node and select General. This page allows you to set the following general debugging options.
- Ask before deleting all breakpoints
Require confirmation before completing the Delete All Breakpoints command.
- Break all processes when one process breaks
Simultaneously breaks all processes to which the debugger is attached, when a break occurs.
- Break when exceptions cross AppDomain or managed/native boundaries (Managed only)
In managed or mixed-mode debugging, the common language runtime catches exceptions that cross application domain boundaries or managed/native boundaries when the following conditions are true:
1) When native code calls managed code using COM Interop and the managed code throws an exception. For information about COM Interop, see.
2) When managed code running in application domain A calls managed code in application domain B and the code in application domain B throws an exception. For information about application domains, see.
3) When code calls a function using reflection, and the function throws an exception. (For information about reflection, see.)
In 2) and 3), the exception is sometimes be caught by managed code in mscorlib instead of the common language runtime. This option does not effect breaking on exceptions caught by mscorlib.
- Enable address-level debugging
Enables advanced features for debugging at the address level (the Disassembly window, Registers window, and address breakpoints).
- Show disassembly if source is not available
Automatically shows the disassembly window when you try to debug code for which source is unavailable.
- Enable breakpoint filters
Enables you to set filters on breakpoints so that they will affect only specific processes, threads, or computers.
- Enable the Exception Assistant
For managed code only. When this option is checked, managed exceptions invoke the new Exception Assistant dialog box instead of the old Exception dialog box. Exception Assistant is more verbose and provides greater help on exceptions. For more information, see.
- Enable Just My Code (Managed only)
When this feature is enabled, the debugger displays and steps into user code ("My Code") only, ignoring system code and other code that is optimized or does not have debugging symbols. For more information, see.
- Show all members for non-user objects in variables windows (Visual Basic only)
Turns on display of non-public members in objects that are in non-user code (not "My Code").
- Warn if no user code on launch
When debugging starts with Just My Code enabled, this option warns you if there is no user code ("My Code").
- Enable property evaluation and other implicit function calls
Turns on automatic evaluation of properties and implicit function calls in variables windows and QuickWatch dialog box.
- Call ToString() on objects in variables windows (C# only)
Executes an implicit ToString() call when evaluating objects in variable windows. Therefore, that result is displayed as a string instead of the type name. Only applies while debugging in C# code. This setting may be overridden by the DebuggerDisplay attribute. (See.)
- Enable source server support
Tells the Visual Studio debugger to get code from the SrcSrv source server (srcsrv.dll), which is part of Debugging Tools for Windows. For information about SrcSrv setup, see the Debugging Tools for Windows documentation. For more information, see.
- Print source server diagnostic messages to the Output window
When source server support is enabled, this setting turns on diagnostic display.
- Highlight entire source line for breakpoints and current statement
When highlighting a breakpoint or the current statement, highlight the entire line.
- Require source files to exactly match the original version
Tells the debugger to verify that a source file matches the version of the source code used to build the executable you are debugging. If the version does not match, you will be prompted to find matching source. If matching source is not found, the source code will not be displayed during debugging.
- Redirect all Output window text to the Immediate window
Sends all debugger messages that would ordinarily go to the Output window to the Immediate window instead.
- Show raw structure of objects in variables windows
Turns off all object structure view customizations. For more information about view customizations, see.
- Suppress JIT optimization on module load (Managed Only)
Disables the JIT optimization of managed code when a module is loaded and JIT is compiled while the debugger is attached. Disabling optimization may make it easier to debug some problems, although at the expense of performance. If you are using Just My Code, suppressing JIT optimization can cause non-user code to appear as user code (My Code).
- Warn if no symbols on launch (Native Only)
When selected, displays a warning dialog box when you try to debug a program for which the debugger has no symbolic information. For more information, see.