Как пропустить общие классы в VS 2008 при входе? - PullRequest
17 голосов
/ 14 января 2010

Как я могу пропустить общие классы в отладчике VS 2008 при входе?

Например, я не хочу, чтобы отладчик входил в любой из классов std ::. Как мне этого добиться?

Я нашел способы сделать это в VS 2005 и более ранних версиях, но не в 2008

Ответы [ 2 ]

17 голосов
/ 14 января 2010

Вы можете сделать это, введя записи в реестр (я знаю, это отстой). Ключ, который вы ищете, варьируется от 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-битных системах . (Замечание: поиск в реестре «_RTC_CheckEsp», вероятно, приведет вас в нужное место, это запись по умолчанию в Visual Studio 9)

Синтаксис должен быть вам знаком, но в качестве примера простой записью может быть строковое значение boost::.*=NoStepInto, которое позволит избежать отладчика перехода в Boost. См. http://www.cprogramming.com/debugging/visual-studio-msvc-debugging-NoStepInto.html для некоторых других примеров.

Надеюсь, это поможет:)

0 голосов
/ 14 января 2010

взято с http://www.highprogrammer.com/alan/windev/visualstudio.html:

Избегание наступления на вещи

Часто полезно избегать какого-либо общего кода, такого как конструкторы или перегруженные операторы. autoexp.dat предоставляет эту возможность. Добавьте раздел под названием «[ExecutionControl]». Добавьте ключи, где ключ - это имя функции, а значение - «NoStepInto». Вы можете указать звездочку (*) в качестве символа подстановки в качестве первого набора двоеточий для пространства имен или класса.

autoexp.dat читается только при запуске Visual Studio.

Чтобы игнорировать функцию myfunctionname и все вызовы класса CFoo:

[ExecutionControl]
myfunctionname=NoStepInto
CFoo::*=NoStepInto

Чтобы игнорировать построение и назначение строк MFC CS: (Обратите внимание на дополнительные = в CString :: operator =.)

[ExecutionControl]
CString::CString=NoStepInto
CString::operator==NoStepInto

Чтобы игнорировать все вызовы ATL:

[ExecutionControl]
ATL::*=NoStepInto 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...