Cómo: Generar gráficos de dependencia para código C y C++

[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].

Este Feature Pack de Visual Studio 2010 le permite visualizar la organización y las relaciones en el código de C y C++ mediante la generación de gráficos de dependencia en Visual Studio 2010 Ultimate. Use estos gráficos, que le ayudan a explorar, entender y administrar las dependencias del código fuente, entre los archivos binarios y entre los archivos de código fuente y archivos de encabezado. Por ejemplo, puede visualizar las dependencias entre los archivos binarios, los espacios de nombres y las clases. Un gráfico representa elementos de código y sus relaciones como un conjunto de nodos que están conectados mediante vínculos o bordes. Para obtener más información, vea Paquetes de características de Visual Studio.

Importante

Para realizar esta tarea con proyectos de Visual C o Visual C++, se debe instalar Visual C# con Visual Studio.

Tenga en cuenta los siguientes elementos al generar los gráficos para el código de C y C++:

  • Al abrir una solución que contiene proyectos de C y C++, podría tardar algún tiempo en actualizar la base de datos del navegador de IntelliSense. Durante este tiempo, los comandos para generar los gráficos de dependencias para los archivos de código fuente y los archivos de encabezado no estarán disponibles.

    Nota

    Antes de generar un gráfico de dependencias para estos archivos, espere hasta que la base de datos IntelliSense finalice las actualizaciones.Puede supervisar el progreso de estas actualizaciones en la barra de estado de Visual Studio.Para obtener más información sobre los mensajes que aparecen porque cierta configuración de IntelliSense está deshabilitada, vea Solución de problemas.

  • El término "ensamblado" se usa para hacer referencia al "binario" en la interfaz de usuario. Por ejemplo, para ver las dependencias entre todos los archivos binarios de la solución, en el menú Arquitectura, elija Generate Dependency Graph (Generar gráfico de dependencias) y, a continuación, haga clic en By Assembly (Por ensamblado).

    Nota

    Para los archivos binarios, los gráficos solo muestran las dependencias de nivel binario.Por ejemplo, no se muestran las dependencias dentro del mismo binario, como, por ejemplo, las llamadas a método y los tipos de referencia.

  • El nombre predeterminado del documento de gráfico generado para el código de C y C++ es "AssemblyDependenciesN.dgml", donde N es el número de versión del documento. Se puede cambiar el nombre de este documento en cualquier momento.

  • Puede generar un gráfico de dependencias para una solución de Visual Studio completa o para elementos concretos.

    Nota

    Si tiene una solución muy grande, la generación de un gráfico de dependencias podría tardar algún tiempo en analizar todos los archivos o producir una excepción de memoria insuficiente.Si ocurre esto, reduzca el ámbito de la solución o use el Explorador de arquitectura para seleccionar elementos y relaciones concretos antes de generar el gráfico.

  • Para generar un gráfico de dependencias para el código de C y C++, use los mismos pasos que utilizaría para el código de .NET. Para obtener más información, vea Cómo: Visualizar el código generando gráficos de dependencias.

Para obtener información sobre los problemas que se podrían producir al generar los gráficos de dependencias del código de C o C++, vea Solución de problemas.

Ver dependencias entre archivos de código fuente y archivos de encabezado

Puede visualizar las dependencias entre los archivos de código fuente de C y C++ y los archivos de encabezado. Puede elegir el siguiente ámbito de dependencias para visualizarlas:

Gráfico de dependencias para código nativo

Gráfico de dependencias para los archivos incluidos en un proyecto de C++

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

  • El archivo abierto actualmente y todos los archivos de código fuente y archivos de encabezado de primer nivel

Para ver las dependencias entre

Siga estos pasos

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

En el menú Arquitectura, elija Generate Dependency Graph (Generar gráfico de dependencias) y, a continuación, haga clic en By Included File (Por archivo incluido).

NoteNote
Al ejecutar este comando por primera vez, Visual Studio debe analizar los archivos de proyecto de C o C++.Estas operaciones pueden llevar bastante tiempo.Para cancelar la generación del gráfico, haga clic en Cancelar en el cuadro de mensaje que aparece.

El archivo abierto actualmente y todos los archivos de código fuente y archivos de encabezado de primer nivel

TipTip
Para ver las dependencias en los niveles adicionales, use Modo de exploración de entorno en la barra de herramientas de gráfico para seleccionar el nivel de dependencias que desea ver.Para obtener más información, vea How to: Browse and Navigate Graph Documents.
  1. Abra un archivo de código fuente o archivo de encabezado.

    El archivo se abre en la ventana del editor de código.

  2. Haga clic con el botón secundario en cualquier parte del archivo y, a continuación, haga clic en Generate Graph for Included Files (Generar gráfico para archivos incluidos).

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

Gráfico de dependencias para un archivo de encabezado con archivos de código fuente y archivos de encabezado de primer nivel

Solución de problemas

Podrían producirse los siguientes problemas al generar gráficos de dependencias para código de C o C++:

Problema

Causa posible

Solución

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.

Para obtener más información, vea 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.

Para obtener más información, vea Las opciones, editor de texto, C/C++, avanzaron.

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.

Para obtener más información, vea /FIXED (Dirección base fija).

Solo se admiten los archivos binarios que se ejecutan en arquitecturas x86.

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 Archivos de base de datos de programa (C++).

Active la opción /DEBUG en el vinculador.

Para obtener más información, 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.

Para obtener más información, 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.

Para obtener más información, vea:

Vea también

Conceptos

Cómo: Examinar y reorganizar los gráficos de dependencias

Cómo: Edite y personalizar los gráficos de dependencias

Visualizar código

Otros recursos

How to: Browse and Navigate Graph Documents