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

Включена ли запись реестра VS2012 NativeDE\StepOver, которая препятствует вступлению определенных функций в измененный формат?

Я столкнулся с несколькими сообщениями/блогами, в которых показано, как отключить переход на определенные функции и/или пространства имен (например, библиотеки ускорения), используя записи реестра.

Когда я попытался сделать это с помощью VS2012, я не ожидал ожидаемых результатов.

Я пробовал...

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\NativeDE\StepOver]
"10"="std\:\:.*"
"20"="boost\:\:.*"

Изменен ли формат? У меня есть правильная запись в реестре?

4b9b3361

Ответ 1

Наконец я нашел "решение":

Добавить новый .natstepfilter в C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers

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

Я не уверен, что формат "boost::. *" подходит именно в этом конкретном примере, но это должно быть что-то подобное. Вы можете посмотреть другие файлы .natstepfilter в папке для получения еще нескольких подсказок.

К сожалению, согласно сообщению, которое я нашел, выполнение этого не работает при отладке приложений смешанного режима (например, С++/С#), что я и делаю. Я оставлю этот вопрос другим людям, пытающимся понять, как реализовать эту функциональность и для тех, кто может знать способ сделать это в смешанном режиме.

Ответ 2

Как дополнение к предыдущему ответу (к сожалению, я еще не могу комментировать), в этом каталоге уже есть файл с именем default.natstepfilter, вы можете просто добавить туда две строки (до </StepFilter>).

Вам может потребоваться щелкнуть по умолчанию default.natstepfilter и перейти к Properties и снять отметку Read-Only, чтобы изменить этот файл. Для этого вам понадобятся права администратора.

Пример:

<?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>
  <Function><Name>__security_check_cookie</Name><Action>NoStepInto</Action></Function>
  <Function><Name>__abi_winrt_.*</Name><Action>NoStepInto</Action></Function>
  ...
</StepFilter>