Visualizar dependencias de código en gráficos de dependencias

Para ver y entender organization del código y sus dependencias, puede crear gráficos de dependencias en Visual Studio Ultimate.¿Cuáles son los gráficos de dependencias y cómo son ellos útiles?

Proyectos compatibles:

  • Los proyectos de visual C# .NET y Visual Basic .NET, incluido Windows almacenan aplicaciones, y los archivos de ensamblado (.dll o .exe).

  • Los proyectos de Visual C++, incluidas Windows almacenan las aplicaciones, que tienen el código de c o C++ (administrado o nativo), archivos de encabezado (.h o #include), y los archivos binarios.

Vídeos:

En este tema

  • ¿Cómo obtengo iniciado?

  • Dependencias de visualización en el código

  • Gráficos de dependencias de uso compartido

  • Generar gráficos para el procesamiento por lotes

  • Solución de problemas

¿Cómo obtengo iniciado?

  • Obtenga información general sobre la solución: en el menú Arquitectura , elija Generar gráfico de dependencias, Para la solución.

    Se obtiene un gráfico que muestra los ensamblados de nivel superior.Ahora puede explorar estos ensamblados expandiendo ellos.Mueva el puntero encima de un ensamblado, y elija el botón del botón de contenido adicional (^) cuando aparece.Haga lo mismo para que los espacios de nombres, tipos, y los miembros continúen analizando el código.

    Gráfico de dependencias de ensamblados de nivel superior

    Para ver las dependencias entre grupos, elija un elemento en el gráfico.

    Gráfico con elementos seleccionados y grupos expandidos

    Para obtener más información, vea Obtenga información general sobre la solución.También puede ejecutar analizadores para buscar posibles problemas en el código.Vea Buscar posibles problemas en el código de gráficos de dependencias.

  • Ver las dependencias concretas de la solución: En Explorador de soluciones, seleccione los elementos que le interesan.Puede seleccionar proyectos, referencias de ensamblado, carpetas, archivos, tipos, y sus miembros.Para buscar un elemento concreto, utilice el cuadro de búsqueda Explorador de soluciones .

    En la barra de herramientas Explorador de soluciones , elija Cree un nuevo documento de gráficoBotón para crear un nuevo gráfico a partir de los nodos seleccionados.

    -O bien-

    Arrastre los elementos Explorador de soluciones a un gráfico existente.

    SugerenciaSugerencia

    Para crear un gráfico en blanco, en el menú Archivo , elija Nuevo, Archivo, Documento de gráfico dirigido.Para incluir la jerarquía primaria para sus elementos, presione y mantenga presionada la tecla CTRL mientras arrastra elementos.

    Se obtiene un gráfico que muestra los elementos seleccionados.Ahora puede explorar estos elementos expandiendo ellos.Mueva el puntero encima de un elemento, y elija el botón del botón de contenido adicional (^) cuando aparece.

    Para obtener más información, vea Ver las dependencias concretas de la solución.También puede ejecutar analizadores para buscar posibles problemas en el código.Vea Buscar posibles problemas en el código de gráficos de dependencias.

¿Cuáles son los gráficos de dependencias y cómo son ellos útiles?

Los gráficos de dependencias proporcionan una forma visual para examinar el código y entender sus dependencias sin tener que buscar entre archivos y líneas de código.Puede ver elementos y relaciones solo como nodos y vínculos, o flechas.Por ejemplo, suponga que tiene una revisión del código a realizar.Tiene un conjunto de archivos que contiene los cambios pendientes.Puede visualizar el código y las dependencias de esos cambios creando un gráfico de dependencias de los archivos.Vea Ver las dependencias concretas de la solución.

De forma predeterminada, las relaciones del contenedor se representan como grupos, que puede expandir y contraer.

Gráfico de dependencia con nodos agrupados

SugerenciaSugerencia

El botón Icono Volver a obtener elementos secundariosVolver a obtener elementos secundarios permite recuperar los miembros del grupo que existen en código pero no aparece en el gráfico.También hemos aplicado un estilo diferente a los vínculos de las llamadas de modo que pueda ver más fácilmente.Vea Editar y personalizar gráficos de dependencias.

También puede ver las relaciones del contenedor como vínculos.Abrir el menú contextual para el gráfico, elija Grupo, Desactivar agrupación:

Gráfico de dependencia con nodos y vínculos

También puede ejecutar analizadores para buscar posibles problemas en el código.Vea Buscar posibles problemas en el código de gráficos de dependencias.

Al generar un gráfico de dependencias la primera vez, Visual Studio indiza todas las dependencias que encuentra.Este proceso puede tardar algún tiempo, sobre todo para las soluciones o gráficos grandes con muchos vínculos.Sin embargo, el índice mejora el rendimiento de las operaciones posteriores.Si los cambios de código, Visual Studio modifica su sólo el código actualizado.

Si no desea esperar el gráfico termine de generar, puede cancelar este paso en cualquier momento y probar las sugerencias siguientes:

  • Gráfico solo dependencias que le interesan.

  • Antes de generar el gráfico para una solución completa, reduzca el ámbito de la solución.

Aunque Visual Studio puede ejecutarse con 1 GB de memoria, es recomendable que el equipo tiene al menos 2 GB de memoria para evitar largos retrasos mientras Visual Studio crea el índice de código y generar el gráfico.

[!NOTA]

Visual Studio genera un gráfico si por lo menos un proyecto se compila correctamente.Solo muestra las dependencias del código que se compilan correctamente.Si se producen errores de compilación para ciertos componentes, los errores en esos componentes aparecen en el gráfico.Asegúrese de que las compilaciones de un componente realmente y tiene dependencias antes de tomar decisiones sobre la arquitectura basadas en el gráfico.

Podría tardar más tiempo para crear gráficos o para agregar elementos a un gráfico del explorador de soluciones cuando la propiedad de Copiar en el directorio de salida de un elemento de proyecto se establece en Copiar siempre.Esto podría tener problemas con compilaciones incrementales y Visual Studio para recompilar el proyecto cada vez.Para aumentar el rendimiento, cambie esta propiedad a Copiar si es posterior o a PreserveNewest.Vea Compilaciones incrementales.

Dependencias de visualización en el código

  • Obtenga información general sobre el código

  • Ver las dependencias concretas del código

  • Visualizar las dependencias entre C o los archivos de código fuente y archivos de encabezado de C++

  • Generar gráficos para el procesamiento por lotes mediante GraphCmd.exe

SugerenciaSugerencia

Para generar más gráficos completos para los proyectos de C++, la opción del compilador de información de examen (/FR) se debe establecer en esos proyectos.Si no, un mensaje y se le pedirá establecer esta opción.Si aparece el mensaje, puede establecer la opción de solo el gráfico actual eligiendo Aceptar, o puede establecer la opción y ocultar el mensaje para todos los gráficos posteriores.Para hacer el mensaje aparecerá para gráficos posteriores, establezca la clave del Registro siguiente a 0 o eliminar la clave:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\NativeProvider : AutoEnableSbr

Vea /FR, /Fr (Crear archivo .Sbr).

Obtenga información general sobre el código

Puede crear un gráfico de dependencias para la solución completa o para los ensamblados o binarios.

Dd409453.collapse_all(es-es,VS.110).gifObtenga información general sobre la solución

  1. En el menú Arquitectura , elija Generar gráfico de dependencias, Para la solución.

    Se obtiene un gráfico que muestra los ensamblados de nivel superior y los agregados vínculos entre ellos.El grosor de un vínculo agregado indica el número de dependencias individuales representa el vínculo.El grupo Externos contiene un valor fuera de la solución, como dependencias de la plataforma.Los ensamblados externos solo se muestran los elementos que se utilizan.

    Gráfico de dependencias de ensamblados de nivel superior

  2. Ahora puede explorar estos ensamblados expandiendo ellos.Mueva el puntero encima de un ensamblado, y elija el botón del botón de contenido adicional (^) cuando aparece.(El teclado: Elija el elemento, elija la clave Más (+)). Haga lo mismo para que los espacios de nombres, clases, y los miembros continúen analizando el código.

  3. Para obtener más información sobre un elemento o un vínculo, mueva el puntero encima del elemento hasta que aparezca una información sobre herramientas.

  4. Examinar los elementos y las dependencias representados por un vínculo agregado, seleccione el vínculo primero y luego, abra el menú contextual.Elija Mostrar, Vínculos de contribución en el diagrama actual o Vínculos de contribución en un nuevo diagrama.

    Visual Studio expande los grupos en ambos extremos del vínculo y las presentaciones sólo los elementos y dependencias que participan en el vínculo.Para ver los elementos que existen en código pero faltan de un grupo, elija Volver a obtener elementos secundariosIcono Volver a obtener elementos secundarios.

Vea:

Dd409453.collapse_all(es-es,VS.110).gifObtenga información general sobre ensamblados o de binarios

  • cree un gráfico en blanco, o abra un gráfico existente (archivo .dgml).De fuera de Visual Studio, arrastre los ensamblados o binarios al gráfico.

    [!NOTA]

    Puede arrastrar los ensamblados o binarios del Explorador de Windows si está ejecutando el Explorador de Windows y Visual Studio en los mismos permisos de (UAC) de control de cuentas de usuario de nivel.Por ejemplo, si está activado, y está ejecutando Visual Studio como administrador, el Explorador de Windows bloqueará la operación de arrastre.Para evitar esto, asegúrese de que Visual Studio se ejecuta como administrador, o la vuelta UAC shutdown.Observe que en Windows 8, el Explorador de Windows es el Explorador de archivos.

    O bien

    1. En el menú Arquitectura , elija Ventanas, Explorador de arquitectura.

    2. En la primera columna, en Sistema de archivos, elija Seleccionar archivos.

    3. En el cuadro Abrir , busque y seleccione los ensamblados o binarios.Elija Abrir para agregarlos a la columna siguiente Explorador de arquitectura.

    4. En Explorador de arquitectura, seleccione los ensamblados o binarios.

    5. A la derecha de la columna que contiene los ensamblados o binarios seleccionado, elija la columna de acción contraída para expandirla.

      SugerenciaSugerencia

      La columna de acción contraída aparece resaltada cuando mueve el puntero encima de.

    6. En la columna de acción, en Comandos, elija Abrir para generar un gráfico de dependencias.

      Vea Buscar código con el explorador de arquitectura.

Dd409453.collapse_all(es-es,VS.110).gifPara crear un gráfico en blanco

  1. Para abrir un nuevo gráfico en blanco sin agregarlo a la solución, en el menú Archivo , elija Nuevo, Archivo.

    O bien

    Para agregar un gráfico en blanco a la carpeta Elementos de la solución en la solución, abra el menú contextual para el nodo de nivel superior de la solución.Elija Agregar, Nuevo elemento.

  2. En Instalado, elija General.

  3. En el panel derecho, elija Documento de gráfico dirigido.

    También puede agregar un gráfico en blanco a un proyecto de modelado en el menú Arquitectura eligiendo Nuevo diagrama.

Ver las dependencias concretas del código

Puede crear un gráfico de dependencias para los elementos específicos en la solución o en los ensamblados y binarios.

Ver las dependencias concretas de la solución

Cómo visualizar un código específico

Cómo visualizar un código y elementos primarios específicos

Dd409453.collapse_all(es-es,VS.110).gif

  1. En Explorador de soluciones, seleccione los elementos que le interesan.Puede seleccionar proyectos, referencias de ensamblado, carpetas, archivos, tipos, y sus miembros.Para buscar un elemento concreto, utilice el cuadro de búsqueda Explorador de soluciones .

    SugerenciaSugerencia

    Para buscar elementos con dependencias en tipos o miembros, abra el menú contextual del tipo o miembro en Explorador de soluciones.Elija el tipo de dependencia.El explorador de soluciones muestra los elementos que tienen dependencias que especificó.Seleccione los resultados.

  2. Para representar los elementos y sus miembros gráficamente, en la barra de herramientas Explorador de soluciones , elija Cree un nuevo documento de gráficoBotón para crear un nuevo gráfico a partir de los nodos seleccionados.

    O bien

    Para incluir la jerarquía primaria en el gráfico, abra Cree un nuevo documento de gráfico… de la barra de herramientas Explorador de soluciones , elija Nuevo gráfico de dependencias con antecesores.

    SugerenciaSugerencia

    También puede arrastrar elementos al gráfico.Primero, cree un gráfico en blanco o abre un gráfico existente (archivo .dgml).Para incluir la jerarquía de contenedores primarios, presione y mantenga presionada la tecla CTRL mientras arrastra los elementos.

    Se obtiene un gráfico que muestra los elementos seleccionados.

  3. Para explorar los elementos, puede expandir ellos.Mueva el puntero encima de un elemento, elija el botón del botón de contenido adicional (^) cuando aparece.Para expandir todos los elementos, abra el menú contextual para el gráfico.Elija Grupo, Expandir todo.

    [!NOTA]

    Este comando no está disponible si el expandir todos los grupos generan problemas de un gráfico inutilizable o en memoria.

  4. Para recuperar los elementos que faltan en un grupo, elija Volver a obtener elementos secundariosIcono Volver a obtener elementos secundarios dentro del grupo.

  5. Para ver más elementos relacionados con los que está en el gráfico, abra el menú contextual para el elemento.Elija Mostrar y la relación de los elementos que le interesan.

    Para un ensamblado, elija:

    Referencias a ensamblados

    Agregue los ensamblados que este ensamblado hace referencia.Los ensamblados externos aparecen en el grupo Externos .

    Hacer referencia a ensamblados

    Agregue los ensamblados de la solución que hacen referencia a este ensamblado.

    Para una clase, elija:

    Tipos base

    Para una clase, agregue la clase base y las interfaces implementadas.

    Para una interfaz, agregue las interfaces base.

    Tipos derivados

    Para una clase, agregue las clases derivadas.

    Para una interfaz, agregue las interfaces derivadas y las clases o los structs que implementan.

    Todos los tipos base

    Agregue la jerarquía de la clase base o interfaz de forma recursiva.

    Todos los tipos derivados

    Para una clase, agregue todas las clases derivadas de forma recursiva.

    Para una interfaz, agregue todas las interfaces derivadas y el implementar las clases o los structs de forma recursiva.

    Jerarquía de contención

    Agregue la jerarquía de contenedores primarios.

    Tipos utilizados

    Agregue todas las clases y los miembros que esta clase utilice.

    Utilizar-Por tipos

    Agregue todas las clases y los miembros que utilizan esta clase.

    Para un método, elija:

    Jerarquía de contención

    Agregue la jerarquía de contenedores primarios.

    Methods denominado

    Agregue los métodos que este método llama a.

    Denominar-Por métodos

    Agregue los métodos que llaman a este método.

    Métodos invalidados en tipos base

    Para un método que reemplace a otros métodos o implemente el método de una interfaz, agregar todo el resumen o métodos virtuales en las clases base que se invalidan y, si existe, el método de la interfaz que se implementa.

    Campos hace referencia

    Agregue campos que este método hace referencia.

    Para un campo, elija:

    Jerarquía de contención

    Agregue la jerarquía de contenedores primarios.

    Hacer referencia a métodos

    Agregue los métodos que hacen referencia a este campo.

Vea:

Dd409453.collapse_all(es-es,VS.110).gifVer las dependencias concretas de ensamblados o binarios

  1. En el menú Arquitectura , elija Ventanas, Explorador de arquitectura.

  2. En la primera columna, en Sistema de archivos, elija Seleccionar archivos.

  3. En el cuadro Abrir , busque y seleccione los ensamblados o binarios.Elija Abrir para agregarlos a la columna siguiente Explorador de arquitectura.

  4. En la columna siguiente, seleccione los ensamblados o binarios.

    De forma predeterminada, la columna siguiente se muestran los elementos contenidos en los elementos seleccionados.

    SugerenciaSugerencia

    Para seleccionar otros elementos relacionados, expanda la columna contraída situada a la derecha de la columna con sus selecciones.En Navegación de nodo, seleccione los tipos de elementos que le interesan.En Navegación saliente o Navegación entrante, seleccione los tipos de vínculos que le interesan.Vea Buscar código con el explorador de arquitectura.

  5. Busque y seleccione todos los elementos que desea colocar el gráfico.

  6. Para crear un nuevo gráfico, en la barra de herramientas Explorador de arquitectura , elija Cree un nuevo documento de gráfico de todos los nodos seleccionadosBotón para crear un nuevo gráfico a partir de los nodos seleccionados.

    Visual Studio crea el gráfico y lo abre.

    O bien

    Para agregar la selección a un gráfico, siga estos pasos:

    1. Abra el archivo .dgml del gráfico, o cree un gráfico en blanco.

    2. En la barra de herramientas Explorador de arquitectura , elija Agregar todos los nodos seleccionados al documento de gráfico visible actualmenteBotón para agregar todos los nodos seleccionados al gráfico.

      O bien

      Arrastre los elementos Explorador de arquitectura al gráfico.

Visualizar las dependencias entre C y los archivos de código fuente y archivos de encabezado de C++

Para ver las dependencias entre

Haga lo siguiente

Todos los archivos de código fuente y archivos de encabezado de la solución

En el menú Arquitectura , elija Generar gráfico de dependencias, Para archivo de inclusión.

Gráfico de dependencias para código nativo

El archivo abierto actualmente y los archivos de código fuente y archivos de encabezado relacionados

  1. Abra un archivo de código fuente o archivo de encabezado.

  2. Abrir el menú contextual desde cualquier parte dentro del archivo.Elija Generar gráfico de archivos de inclusión.

Gráfico de dependencias de primer nivel para archivo .h

[!NOTA]

Al abrir una solución que contiene proyectos de Visual C++, podría tardar algún tiempo para actualizar la base de datos de IntelliSense.Durante este tiempo, quizás no pueda crear gráficos de dependencias para los archivos de encabezado (.h o #include) hasta que la base de datos IntelliSense termine de actualizar.Puede supervisar el progreso de actualización en la barra de estado de Visual Studio.Para resolver problemas o los mensajes que aparecen porque cierta configuración de IntelliSense está deshabilitada, vea Solución de problemas.

Gráficos de dependencias de uso compartido

Guarde y compartir el gráfico con otros usuarios de Visual Studio

  • Utilice el menú Archivo para guardar el gráfico.

    O bien

    Para guardar el gráfico como parte de proyecto específico, abra el menú contextual para la superficie del gráfico.Elija Mover <DependencyGraphName.dgml> en y el proyecto donde desea guardar el gráfico.

    Visual Studio guarda el gráfico como un archivo .dgml que puede compartir con otros usuarios de Visual Studio Ultimate, Visual Studio Premium, y Visual Studio Professional.

    [!NOTA]

    Antes de compartir un gráfico con las que utilizan Visual Studio Premium y Visual Studio Professional, asegúrese de expandir los grupos, mostrar los nodos y el cruce- grupo ocultos vinculación, y recupere los nodos eliminados que desee otros para ver en el gráfico.Si no, otros usuarios no podrán ver estos elementos.

    Se podría producir el error siguiente al guardar un gráfico que está en un proyecto de modelado o que se copió de un proyecto de modelado en otra ubicación:

    "No se puede guardar nombreArchivo fuera del directorio de proyecto.No se admiten elementos vinculados".

    Visual Studio muestra el error, pero crea la versión guardada.Para evitar el error, cree el gráfico fuera del proyecto de modelado.Después puede guardarlo en la ubicación que desee.Copiar el archivo en otra ubicación de la solución e intentar guardarlo después no dará resultado.

Exporte el gráfico como una imagen y que puede copiarlo en otras aplicaciones, como Microsoft Word o PowerPoint

  1. Abrir el menú contextual para la superficie del gráfico.Elija Editar, Copiar imagen.

  2. Pegue la imagen en otra aplicación.

Exporte el gráfico como un archivo para poder XPS pueden considerarlo en visores de XML o XAML como Internet Explorer

  1. Abrir el menú contextual de la superficie del gráfico.Elija Guardar como XPS.

  2. En el cuadro de diálogo Guardar como , vaya a la que desea guardar el archivo.

  3. Llame al gráfico.Asegúrese de que el cuadro Guardar como tipo está establecido en Archivos XPS (*.xps).Elija Guardar.

Generar gráficos para el procesamiento por lotes

Puede generar documentos de gráfico (archivos .dgml) en modo por lotes mediante la herramienta de línea de comandos GraphCmd.exe .Por ejemplo, puede ejecutar la herramienta después de que cada compile para encontrar las dependencias que han cambiado entre las compilaciones.Para encontrar esta herramienta, busque en la siguiente carpeta: C:\Archivos de programa\Microsoft Visual Studio 11.0\Common7\IDE.

[!NOTA]

GraphCmd.exe solo admite el código de .NET y genera la información de dependencia solo para los ensamblados o archivos .dgml, no código fuente en la solución de Visual Studio o los archivos de proyecto.GraphCmd.exe se ejecuta fuera de Visual Studio, por lo que la compatibilidad con acciones de consultas DGQL es limitada.

Utilice la siguiente sintaxis para GraphCmd.exe:

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path

SugerenciaSugerencia

Puede especificar varias veces las siguientes opciones: -input, -query, -exec y -path.

En la tabla siguiente se describen las opciones de GraphCmd.exe:

-?

Mostrar ayuda sobre GraphCmd.exe.

-all

Incluir todos los resultados de la consulta intermedios, no solo para el último conjunto de nodos.

-exceptions

Notificar las excepciones de la consulta como un archivo de documento de gráfico (.dgml).

-input Nombre de archivo

Procesar el archivo .dgml especificado.

Esto es útil para el procesamiento posterior de un archivo .dgml grande y su filtrado de modo que pueda visualizarlo más fácilmente en Visual Studio.

-query Nombre de archivo

Ejecutar el archivo de Directed Graph Query Language (DGQL o .dgql) especificado.

Vea:

-exec "Instrucción DGQL"

Ejecutar la instrucción DGQL especificada.

Vea Lenguaje de consulta de introducción (DGQL) de Gráficos.

-output Nombre de archivo

Generar el archivo .dgml especificado.

-path alias=ruta de acceso

Especifique un nuevo alias que se usará en la entrada y salida de documentos DGML.

Por ejemplo:

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

Vea Alias para rutas Común- Utilizadas.

Dd409453.collapse_all(es-es,VS.110).gifAlias para rutas de acceso usadas con frecuencia

Los alias para rutas de acceso usadas con frecuencia reducen el tamaño del archivo .dgml y el tiempo necesario para cargar o guardar el archivo.Para crear un alias, agregue una sección <Paths></Paths> al final del archivo .dgml.En esta sección, agregue un elemento <Path/> para definir un alias para la ruta de acceso:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Para hacer referencia al alias desde un elemento del archivo .dgml, rodee el valor Id del elemento <Path/> con un signo de dólar ($) y paréntesis (()):

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Para editar archivos .dgml, vea Editar y personalizar gráficos de dependencias.

Dd409453.collapse_all(es-es,VS.110).gifIntroducción a Directed Graph Query Language (DGQL)

DGQL es un lenguaje de consultas ligero que puede usar para compilar DGML.Una instrucción DGQL sigue un modelo alternativo de selección de nodos y acciones de forma que cada selección de nodo crea la entrada para la siguiente acción, cuyo resultado se convierte en la entrada para la selección de nodo siguiente y así sucesivamente.

El formato de una instrucción DGQL es el siguiente:

<node selection> / <action> / <node selection> / <action> / ...

En la tabla siguiente se describe la sintaxis DGQL empleada para seleccionar nodos:

*

Seleccionar todos los nodos.

+ "text"

Seleccionar todos los nodos que contienen "text".

+ Id.Equals("text")

Seleccionar todos los nodos cuyo Id es igual a "text".

+ Background.Contains("text")

Seleccionar todos los nodos cuyo atributo Background tiene un valor que contiene la cadena "text".

+ "text1" + "text2" + ...

Seleccionar todos los nodos que coinciden con "text1" o "text2".

+ MyProperty="True"

Seleccionar todos los nodos que tienen una propiedad denominada MyProperty cuyo valor es "True".

- Label.Contains("text")

Seleccionar todos los nodos excepto los que tienen un atributo Label que Contains la cadena "text".

+ Category.Is("MyCategory")

Seleccionar todos los nodos que tienen una categoría denominada MyCategory o que hereda de MyCategory.

En la tabla siguiente se describen ejemplos de acciones directas que se pueden realizar en los nodos seleccionados:

Acción de ejemplo

Descripción

Microsoft.Contains

Devolver todos los nodos contenidos por los nodos de entrada.Puede reemplazar Contains con una categoría de vínculo diferente.

Microsoft.Open

Abrir el código fuente para los nodos de entrada.

NotaNota
Solo funciona dentro de Visual Studio.

Microsoft.AllOutBoundLinks

Devolver todos los nodos que son el destino de un vínculo de salida de los nodos de entrada.

Microsoft.AllInboundLinks

Devolver todos los nodos que son el extremo de origen de un vínculo a los nodos de entrada.

Microsoft.Core.CreateGroupsByProperties

Invocar la acción GroupByProperties.

Microsoft.AllNodes

Devolver todos los nodos de todo el gráfico.

Las acciones controladas por datos seleccionan elementos basándose únicamente en los datos de los nodos y vínculos de entrada.Cuando se hacen coincidir categorías usando acciones controladas por datos, se incluyen las categorías heredadas.En la tabla siguiente se describen ejemplos de acciones controladas por datos:

Tipo

Descripción

Node:Both:Category

Devolver todos los nodos que tienen la categoría Category y están conectados con los nodos de entrada por un vínculo que señala en cualquier dirección.

Link:Both:Category

Devolver todos los nodos que están conectados con los nodos de entrada por un vínculo que señala en cualquier dirección y tienen la categoría Category.

Link:Backward:Category

Devolver todos los nodos que señalan a los nodos de entrada con un vínculo que tiene la categoría Category.

Link:Forward:Category

Devolver todos los nodos que señalan desde los nodos de entrada con un vínculo que tiene la categoría Category.

Dd409453.collapse_all(es-es,VS.110).gifSugerencias

  • Normalmente, hay una acción "predeterminada" para un conjunto dado de nodos de entrada, que el Explorador de arquitectura selecciona automáticamente.Para obtener el mismo comportamiento, use una acción vacía: //

  • El espacio en blanco no es significativo en DGQL, por lo que puede dar formato a la consulta para que quepa en una línea si es necesario.Esto es útil cuando se emplea la opción –exec con GraphCmd.

  • Al depurar DGQL, use la acción "Execute Expanded" en el Explorador de arquitectura para ayudarle a ver cada paso de la consulta y encontrar el paso que no está generando los resultados esperados.

Dd409453.collapse_all(es-es,VS.110).gifEjemplo

La siguiente instrucción DGQL realiza una consulta como se describe en los pasos siguientes:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Elija el nodo Vista de clases en la primera columna Explorador de arquitectura.

  2. Realice la acción “Microsoft.Solution.ClassView", devolviendo todos los espacios de nombres de la solución. 

  3. Usa * para seleccionar todos los espacios de nombres.

  4. Seleccione todos los nodos que tienen la categoría CodeSchema_Class y que están relacionados con esos espacios de nombres por un vínculo en cualquier dirección.Normalmente serán vínculos de contención.

  5. Filtra las clases resultantes solo a las que tienen la propiedad CodeSchemaProperty_IsPublic="True".

Técnicamente, la acción "Microsoft.Solution.ClassView" es innecesaria porque es la acción "predeterminada" para el nodo Vista de clases.Por tanto, puede reemplazar esa acción con // para simplificar la consulta y que quepa en una única línea de la manera siguiente:

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

Solución de problemas

Los elementos siguientes no se admiten para C y C++ codificación:

  • Los tipos base no aparecen en los gráficos que incluyen la jerarquía primaria.

  • La mayoría de los elementos de menú Mostrar no están disponibles para el código de c y C++.

Podrían producirse los siguientes problemas al crear gráficos de dependencias para C y C++ codificación:

Problema

Causa posible

Solución

El gráfico de dependencias podría no para generar.

No se compiló ningún proyecto de la solución correctamente.

Corrija los errores de compilación que se produjeron y después vuelva a generar el gráfico.

Visual Studio no responde al intentar generar un gráfico de dependencias a partir del menú Arquitectura.

El archivo de base de datos de programa (.pdb) podría estar dañado.

Un archivo .pdb almacena la información de depuración, como tipo, método e información del archivo de código fuente.

Vea [OBSOLETO] Archivos de base de datos de programa (C++).

Recompile la solución y, a continuación, inténtelo de nuevo.

Cierta configuración de la base de datos de navegador de IntelliSense está deshabilitada.

Cierta configuración de IntelliSense podría estar deshabilitada en el cuadro de diálogo Opciones de Visual Studio.

Active los valores para habilitarla.

Vea Opciones, editor de texto, C/C++, avanzado.

Aparece el mensaje Métodos desconocidos en un nodo de método.

Este problema se produce porque no se puede resolver el nombre del método.

El archivo binario podría no tener una tabla de reubicación base.

Active la opción /FIXED:NO en el vinculador.

Vea /FIXED (Dirección base fija).

El archivo de base de datos de programa (.pdb) podría no estar compilado.

Un archivo .pdb almacena la información de depuración, como tipo, método e información del archivo de código fuente.

Para obtener más información, vea [OBSOLETO] Archivos de base de datos de programa (C++).

Active la opción /DEBUG en el vinculador.

Vea /DEBUG (Generar información de depuración).

No se puede abrir o encontrar el archivo .pdb en las ubicaciones esperadas.

Asegúrese de que existe el archivo .pdb en las ubicaciones esperadas.

Se ha quitado la información de depuración del archivo .pdb.

Si se ha usado la opción /PDBSTRIPED en el vinculador, incluya el archivo .pdb completo en su lugar.

Vea /PDBSTRIPPED (Quitar símbolos privados).

El llamador no es una función y, o bien es un código thunk en el archivo binario o es un puntero en la sección de datos.

Cuando el llamador es un código thunk, intente usar _declspec(dllimport) para evitar el código thunk.

Vea:

¿Qué más puedo hacer?

¿Dónde puedo obtener información?

Categoría

Vínculos

Foros

Blogs