Debugging
-
Is there a way of setting up the VS.Net IDE so that it does not step into certain functions or namespaces whilst debugging, like you could in VS6? Stepping into the STL is driving me mad! Thanks, G
It is moved from the .dat file to registry. I found somewhere this mail: We read the inclusion/exclusion list from the registry at PRODUCT_ROOT\NativeDE\StepOver Each string value in that RegKey should have a decimal number for its name and a value in the following format: RegExp=[No]StepInto Where RegExp is a regular expression per the standard Visual Studio regular expression format, with the following additional escapes: \cid: A C/C++ identifier \funct: A C/C++ function name \scope: A set of class/namespace specifiers for a function (i.e., ATL::CFoo::CBar::) \anything: any string \oper: a C/C++ operator Due to an oversight, the items are evaluated in descending numeric order instead of ascending order: the '20' rule will match before '10'. The first matching rule is used. If no matching rule is found, we step into. (i.e., there is an assumed entry of MAX_INT \anything:=StepInto examples: --------- Don't step into members of CString[AWT], etc.: 1 \scope:CString.*\:\:.*=NoStepInto Don't step into overloaded operators: 10 \scope:operator\oper:=NoStepInto Don't step into ATL:: except for CComBSTR's non-operator members: 20 ATL\:\:CComBSTR::\funct:=StepInto 10 ATL\:\:.*=NoStepInfo Don't step into templated things, unless they're merely templated functions in a non-templated class: 20 \scope:\funct:=StepInto 10 .*[\<\>].*=NoStepInto
-
It is moved from the .dat file to registry. I found somewhere this mail: We read the inclusion/exclusion list from the registry at PRODUCT_ROOT\NativeDE\StepOver Each string value in that RegKey should have a decimal number for its name and a value in the following format: RegExp=[No]StepInto Where RegExp is a regular expression per the standard Visual Studio regular expression format, with the following additional escapes: \cid: A C/C++ identifier \funct: A C/C++ function name \scope: A set of class/namespace specifiers for a function (i.e., ATL::CFoo::CBar::) \anything: any string \oper: a C/C++ operator Due to an oversight, the items are evaluated in descending numeric order instead of ascending order: the '20' rule will match before '10'. The first matching rule is used. If no matching rule is found, we step into. (i.e., there is an assumed entry of MAX_INT \anything:=StepInto examples: --------- Don't step into members of CString[AWT], etc.: 1 \scope:CString.*\:\:.*=NoStepInto Don't step into overloaded operators: 10 \scope:operator\oper:=NoStepInto Don't step into ATL:: except for CComBSTR's non-operator members: 20 ATL\:\:CComBSTR::\funct:=StepInto 10 ATL\:\:.*=NoStepInfo Don't step into templated things, unless they're merely templated functions in a non-templated class: 20 \scope:\funct:=StepInto 10 .*[\<\>].*=NoStepInto