Como: Gerar gráficos de dependência para códigos c e C++

Este pacote de recursos de 2010 de Visual Studio permite que você visualize a organização e os relacionamentos em código c e C++, por meio da geração de gráficos de dependência no Visual Studio 2010 Ultimate. Use estes gráficos para ajudá-lo a explorar, compreender e gerenciar dependências no código-fonte, entre arquivos binários e entre arquivos de origem e os arquivos de cabeçalho. Por exemplo, você pode visualizar as dependências entre os arquivos binários, namespaces e classes. Um gráfico representa os elementos de código e suas relações, como um conjunto de nós que estão conectados por links ou bordas. Para obter mais informações, consulte Pacotes de funcionalidades de Visual Studio.

Observação importanteImportante

Para executar esta tarefa com projetos do Visual C ou Visual C++, Visual C# instalado deve ser instalado com Visual Studio.

Quando você gerar gráficos para código c e C++, observe os seguintes itens:

  • Quando você abrir uma solução que contém os projetos c e C++, poderá demorar algum tempo para atualizar o banco de dados de navegação do IntelliSense. Durante esse período, os comandos para gerar gráficos de dependência para arquivos de origem e os arquivos de cabeçalho não estará disponíveis.

    ObservaçãoObservação

    Antes de gerar um gráfico de dependência para esses arquivos, aguarde até que o banco de dados de IntelliSense termina suas atualizações. Você pode monitorar o andamento dessas atualizações na Visual Studio barra de status. Para obter mais informações sobre as mensagens que aparecem porque determinadas configurações do IntelliSense estão desabilitadas, consulte solução de problemas.

  • O termo "montagem" é usado para se referir a "binary" na interface do usuário. Por exemplo, para ver as dependências entre todos os arquivos binários na solução, o arquitetura , aponte para Gerar o gráfico de dependênciae em seguida, clique em Pelo Assembly.

    ObservaçãoObservação

    Para arquivos binários, os gráficos mostram as dependências no nível binário. Por exemplo, as dependências dentro do mesmo binário, como, por exemplo, chamadas de método e tipos de referência não são mostradas.

  • O nome padrão do documento gráfico gerado para código c e C++ é "AssemblyDependenciesn.dgml" onde n é o número de versão do documento. Você pode renomear este documento a qualquer momento.

  • Você pode gerar um gráfico de dependência de todo um Visual Studio solução ou para itens específicos.

    ObservaçãoObservação

    Se você tiver uma solução muito grande, gerar um gráfico de dependência pode levar algum tempo para analisar todos os arquivos ou causar uma exceção de memória de insuficiente. Se isso ocorrer, reduzir o escopo de sua solução ou use o Explorer de arquitetura para selecionar elementos específicos e relacionamentos, antes de gerar o gráfico.

  • Use as mesmas etapas para gerar um gráfico de dependência para código c e C++, como você faria para.NET do. Para obter mais informações, consulte Como: Gere gráficos de dependência para.NET de código.

Para obter informações sobre problemas que podem ocorrer quando a geração de gráficos de dependência para código c ou C++, consulte solução de problemas.

Consulte as dependências entre os arquivos de origem e os arquivos de cabeçalho

Você pode visualizar as dependências entre os arquivos de código-fonte c e C++ e arquivos de cabeçalho. Você pode escolher o escopo seguinte dependências para visualizar:

Gráfico de dependência para <>código nativo de>

Gráfico de dependência de arquivos incluídos em um projeto de C++

  • Todos os arquivos e arquivos de cabeçalho na solução de origem

  • O arquivo atualmente aberto e todos os arquivos de origem de primeiro nível e arquivos de cabeçalho

Para ver as dependências entre

Siga estas etapas.

Todos os arquivos e arquivos de cabeçalho na solução de origem

Sobre o arquitetura , aponte para Gerar o gráfico de dependênciae em seguida, clique em Arquivo incluído.

ObservaçãoObservação
Quando você executar esse comando pela primeira vez, Visual Studio deve analisar a c ou C++ projeto arquivos.Isso pode levar algum tempo.Para cancelar a geração do gráfico, clique em Cancelar na caixa de mensagem que aparece.

O arquivo atualmente aberto e todos os arquivos de origem de primeiro nível e arquivos de cabeçalho

DicaDica
Para exibir dependências de níveis adicionais, use O modo de pesquisa de ambiente na barra de ferramentas de gráfico para selecionar o nível das dependências que você deseja ver.Para obter mais informações, consulte Como: Procurar e navegar por documentos do gráfico.
  1. Abra um arquivo de origem ou o arquivo de cabeçalho.

    O arquivo é aberto na janela do editor de código.

  2. Clique com o botão direito em qualquer lugar no arquivo e clique em Gerar o gráfico para os arquivos incluídos.

Primeiro-

Gráfico de dependência para um arquivo de cabeçalho com arquivos de origem de primeiro nível e os arquivos de cabeçalho

Solução de problemas

Os seguintes problemas podem ocorrer quando você gerar gráficos de dependência para código c ou C++:

Assunto

Causa possível

Resolução

Visual Studionão responde quando você tenta gerar um gráfico de dependência a partir de arquitetura menu.

O arquivo de banco de dados (. PDB) do programa pode estar corrompido.

Um arquivo. PDB armazena informações de depuração, como, por exemplo, tipo, método e informações de arquivo de origem.

Para obter mais informações, consulte Arquivos de banco de dados (C++) de programa..

Recrie a solução e tente novamente.

Determinadas configurações do banco de dados de navegação do IntelliSense estão desabilitadas.

Determinadas configurações de IntelliSense podem estar desabilitadas na Visual Studio Opções caixa de diálogo.

Ative as configurações para habilitá-los.

Para obter mais informações, consulte Avançadas, C/C++, Editor de texto, caixa de diálogo Opções.

A mensagem Métodos de desconhecido aparece em um nó de método.

Esse problema ocorre porque o nome do método não pode ser resolvido.

O arquivo binário não pode ter uma tabela de relocação básica.

Ative o /FIXED:NO a opção de vinculador.

Para obter mais informações, consulte / FIXED (endereço Base fixo).

Binário somente arquivos que são executados no x86 de arquiteturas são suportadas.

O arquivo de banco de dados (. PDB) do programa não pode ser criado.

Um arquivo. PDB armazena informações de depuração, como, por exemplo, tipo, método e informações de arquivo de origem.

Para obter mais informações, consulte Arquivos de banco de dados (C++) de programa..

Ative o /DEBUG a opção de vinculador.

Para obter mais informações, consulte /Debug (gerar informações de depuração).

Não consigo abrir ou localizar o arquivo. PDB nos locais esperados.

Certifique-se de que o arquivo. PDB existe nos locais esperados.

Depurar informações foram extraídas do arquivo. PDB.

Se a /PDBSTRIPED opção foi usada no vinculador, incluir o arquivo. PDB a completa em vez disso.

Para obter mais informações, consulte / PDBSTRIPPED (segmentar símbolos privados).

O chamador não é uma função e é uma conversão no arquivo binário ou um ponteiro na seção de dados.

Quando o chamador é uma conversão, tente usar _declspec(dllimport) para evitar a conversão.

Para obter mais informações, consulte:

Consulte também

Conceitos

Visualizando o código existente

Outros recursos

Como: Procurar e navegar por documentos do gráfico

Como: Explore o código com gráficos de dependência

Como: Editar e personalizar documentos do gráfico