Расширение Visual Studio для визуализации структуры памяти C++.
Загрузите последнюю версию из Visual Studio Marketplace 2022.
Загрузите последнюю версию из Visual Studio Marketplace 2019.
В C++ на структуру структуры могут влиять различные факторы. Чтобы создать высокопроизводительный код, ориентированный на кэш данных, или уменьшить объем структурной памяти, важно знать о макетах классов в том же месте, где код создается, обновляется, удаляется или отлаживается. Это расширение позволяет программистам визуализировать свои структуры в Visual Studio всего одним щелчком мыши.
Щелкните правой кнопкой мыши поверх любого определения структуры C++ и выберите «Показать макет структуры» (или нажмите Alt+L ), чтобы визуализировать макет памяти.
В этом режиме визуализации типы с дочерними элементами группируются, чтобы обеспечить навигацию и лучшее представление об общей структуре.
В плоском режиме пропускаются все группы и отображается только один слой, что обеспечивает более компактное представление.
Struct Layout может использовать разные системы для анализа файлов C++ и извлечения информации о расположении памяти. В зависимости от сложности и особенностей системы сборки и настройки Visual Studio один вариант будет более удобным, чем другие. Используемый метод можно изменить в окне «Параметры расширения».
При отправке запроса на макет расширение выполняет следующие действия:
Этот метод будет обрабатывать местоположение файла с помощью исполняемого файла Clang LibTooling, который будет анализировать текущий файл и заголовки. Этот метод может дать действительно точные результаты, поскольку он извлекает данные непосредственно из Clang AST, но для правильного понимания всего кода ему потребуется точный контекст сборки.
При запуске запроса к clang libtooling расширение попытается собрать следующие данные из активного проекта и конфигурации:
Этот метод использует тот факт, что pdb (база данных программы), скорее всего, будет содержать всю информацию о макете для всех определяемых пользователем типов. Это приложение использует DIA SDK (доступ к интерфейсу отладки) для открытия и запроса PDB. Эта система может быть полезна, если наша установка не готова к компиляции с помощью компилятора Clang, система сборки довольно сложна и затрагивает некоторые крайние случаи, или у нас есть какой-то специальный код MSVC. Предостережение заключается в том, что нам нужно будет скомпилировать проекты перед выполнением каких-либо запросов для поддержания актуальности PDB.
Этот проект открыт для внесения кода.
Если это расширение показалось вам полезным, вы всегда можете купить мне чашку кофе.