Extensión de Visual Studio para visualización del diseño de la memoria de estructuras de C++
Descargue la última versión de Visual Studio Marketplace 2022
Descargue la última versión de Visual Studio Marketplace 2019
En C++, el diseño de la estructura puede verse afectado por diferentes factores. Para producir código orientado al caché de datos de alto rendimiento o reducir la huella de memoria de la estructura, es importante conocer los diseños de clases en el mismo lugar donde se crea, actualiza, elimina o depura el código. Esta extensión permite a los programadores visualizar sus estructuras dentro de Visual Studio con solo 1 clic.
Haga clic derecho en la parte superior de cualquier definición de estructura de C++ y seleccione Mostrar diseño de estructura (o presione Alt+L ) para visualizar el diseño de la memoria.
En este modo de visualización, los tipos con hijos se apilan para permitir la navegación hacia adentro y hacia afuera y tener una mejor idea de la estructura general.
El modo plano omite todos los grupos y solo muestra una capa, lo que produce una vista más compacta.
Struct Layout puede utilizar diferentes sistemas para analizar los archivos C++ y extraer la información de diseño de la memoria. Dependiendo de la complejidad y las peculiaridades del sistema de compilación y la configuración de Visual Studio, una opción será más conveniente que las demás. El método utilizado se puede cambiar en la ventana Opciones de extensión
Cuando se realiza una solicitud de diseño, la extensión hace lo siguiente:
Este método procesará la ubicación del archivo a través de un ejecutable de Clang LibTooling que analizará el archivo y los encabezados actuales. Este método puede dar resultados realmente precisos, ya que recupera los datos directamente del Clang AST, pero necesitará el contexto de compilación exacto para poder comprender correctamente todo el código.
Cuando se activa una consulta a clang libtooling, la extensión intentará recopilar los siguientes datos del proyecto activo y la configuración:
Este método aprovecha el hecho de que la pdb (Base de datos del programa) probablemente contendrá toda la información de diseño para todos los tipos definidos por el usuario. Esta aplicación utiliza DIA SDK (Acceso a la interfaz de depuración) para abrir y consultar el pdb. Este sistema puede ser útil si nuestra configuración no está lista para ser compilada con un compilador Clang, el sistema de compilación es bastante complejo y afecta a algunos casos extremos o si tenemos algún código específico de MSVC. La advertencia es que necesitaríamos compilar los proyectos antes de realizar cualquier consulta para mantener los pdbs actualizados.
Este proyecto está abierto a contribuciones de código.
Si esta extensión te resultó útil, siempre puedes invitarme a una taza de café.