Включена ли запись реестра 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\:\:.*"
Изменен ли формат? У меня есть правильная запись в реестре?
Ответы
Ответ 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>