Пользовательские файлы natvis в Visual Studio 2012

Я пытаюсь использовать новые визуализаторы отладки в моем проекте, но что-то случилось с Visual Studio, и он больше не принимает мои файлы natvis. Я пытался скопировать их в %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers а также для \Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers но все равно не получается.

Это сработало неделю назад, но с тех пор что-то сломалось.

Я пытался восстановить Visual Studio, но это не помогло.

Я пытался включить EnableNatvisDiagnostics в реестре, но я не получил никаких диагностических сообщений в Output window,

Хотя предустановленные файлы natvis работали нормально. Поэтому я попытался удалить один из предустановленных файлов natvis: stl.natvis от Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers но Visual Studio все еще показывал vector как будто он имел доступ к stl.natvis файл. Кто-нибудь знает, как это исправить? Есть ли другое место, откуда Visual Studio загружает файлы natvis? Может быть, есть ключ реестра для этого?

PS. Я пытался с помощью ProcessMonitor чтобы узнать местоположение, из которого Visual Studio загружает файлы natvis, но я не смог найти никаких ссылок в ProcessMonitorлоги.

8

Решение

Я наконец понял это. Визуализаторы Natvis не работают, когда Редактировать и продолжить включен.

15

Другие решения

У меня такая же проблема.

Проверьте Инструменты-> Параметры-> Отладка-> Общие->Показать необработанную структуру объектов в окнах переменных.
Это должно быть отключено.

4

Я только что понял, что пользовательские файлы NatVis (те, в %USERPROFILE%\Documents\Visual Studio 201x\Visualizers) не используются, если вы используете ReSharper Test Runner для отладки теста. Однако встроенные, например, за std::vector работают.

Если вы регулярно проводите тестирование (т.е. отлаживать -> Начать отладку, скорее всего F5) ваши пользовательские файлы NatVis загружаются и используются.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector