Как пропустить общие классы в отладчике VS 2008 при входе?
Например, я не хочу, чтобы отладчик входил в любой из классов std::. Как я могу это достичь?
Я нашел способы сделать это в VS 2005 и ранее, но не 2008
Как пропустить общие классы в отладчике VS 2008 при входе?
Например, я не хочу, чтобы отладчик входил в любой из классов std::. Как я могу это достичь?
Я нашел способы сделать это в VS 2005 и ранее, но не 2008
Вы можете сделать это, введя записи в реестр (я знаю, это отстой). Ключ, который вы ищете, варьируется от 32 до 64 бит. Для 32-битных систем ключ
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\NativeDE\StepOver
Если вы используете 64-разрядную ОС и 32-разрядную Visual Studio, ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\NativeDE\StepOver
Ключ Wow6432Node представляет собой ключ для 32-разрядных приложений, работающих на 64-битных системах. (Sidenote: поиск в реестре для "_RTC_CheckEsp", вероятно, приведет вас в нужное место, это запись по умолчанию в Visual Studio 9)
Синтаксис должен быть вам знаком, но в качестве примера простая запись может быть строковым значением boost::.*=NoStepInto
, которое позволит отладчику перейти в Boost. См. http://www.cprogramming.com/debugging/visual-studio-msvc-debugging-NoStepInto.html для некоторых других примеров.
Надеюсь, что это поможет:)
Взято из http://www.highprogrammer.com/alan/windev/visualstudio.html:
Предотвращение шага в вещи
Часто бывает полезно избегать вхождения в какой-то общий код, например, конструкторы или перегруженные операторы. autoexp.dat предоставляет эту возможность. Добавьте раздел "[ExecutionControl]". Добавьте ключи, где ключ - это имя функции, а значение - "NoStepInto". Вы можете указать звездочку (*) в качестве подстановочного знака в качестве первого набора двоеточий для пространства имен или класса.
autoexp.dat читается только при запуске Visual Studio.
Чтобы игнорировать функцию myfunctionname и все вызовы класса CFoo:
[ExecutionControl]
myfunctionname=NoStepInto
CFoo::*=NoStepInto
Чтобы игнорировать конструкцию и назначение MFC CStrings: (Обратите внимание на extra = в CString:: operator =.)
[ExecutionControl]
CString::CString=NoStepInto
CString::operator==NoStepInto
Чтобы игнорировать все вызовы ATL:
[ExecutionControl]
ATL::*=NoStepInto