Подтвердить что ты не робот

Как пропустить отладку всего пространства имен std в Visual С++ 2013?

Я хочу пропустить отладку всего std:: namespace С++ по умолчанию, без изменения окна кода в std:: code, созданного Microsoft как xstring. Этот вопрос аналогичен: Как пропустить общие классы в VS 2008 при входе в? и Автоматическое пропускание функций STL во время пошаговой отладки в MSVС++ 2010. Единственное различие заключается в том, что их решение предназначено для визуальной студии 2008 и 2010 годов. Я пробовал это сам, и он работает на Visual Studio 2010, но я хочу сделать это на визуальной студии 2013 года. То же самое решение не работает на visual studio 2013 Я попытался изменить все значения в реестре равными:

_RTC_CheckEsp

to

std\:\:.*=NoStepInto

некоторые из них были значениями для visual studio 12.0 (который является visual studio 2013), но после перезапуска visual studio 2013 ничего не изменилось. Напротив, это работает на Visual Studio 2010. Включена опция "Только мой код".

4b9b3361

Ответ 1

Как сказал Ханс Пассант, отредактируйте файлы . natstepfilter, чтобы добавить исключения.

создайте новый файл, например nostd.natstepfilter, и напишите в нем, как в Имеет ли переменная реестра VS2012 NativeDE\StepOver, которая препятствует вступлению определенных функций в формат?

 <?xml version="1.0" encoding="utf-8"?>
 <StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
   <Function><Name>std::.*</Name><Action>NoStepInto</Action></Function>
</StepFilter>

Для 64-битных окон переместите файл на:

 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers

а для 32-битных окон:

 C:\Program Files\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers

или независимо от того, что вы настроили для своей установки. Обратите внимание, что natstepfilter не работает в смешанном режиме (смешение собственного и управляемого кода). Убедитесь, что для параметров настройки вашего проекта установлено значение Только для родных