Share via


Como: gerar gráficos de dependência para c e C++ de código

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Este pacote de recurso Visual Studio 2010 permite visualizar 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 Ultimate de 2010. Use estes gráficos para ajudá-lo a explorar, compreender e gerenciar dependências no código fonte , entre arquivos binário e entre arquivos de fonte e os arquivos de cabeçalho . Por exemplo, você pode visualizar as dependências entre os arquivos binário , 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 mais informações, consulte Pacotes de funcionalidades de Visual Studio.

Importante

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

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

  • Quando você em aberto uma solução que contém a projetos c e C++, ele pode levar algum tempo para atualização o IntelliSense banco de dadosde navegação. Durante esse período, os comandos para gerar gráficos de dependência para arquivos de fonte e os arquivos de cabeçalho não estará disponíveis.

    Observação

    Antes de gerar um gráfico de dependência para esses arquivos, aguarde até que obanco de dados do IntelliSensetermine suas atualizações. Você pode monitorar o andamento dessas atualizações na Visual Studiobarra de status . Para obter mais informações sobre as mensagens que aparecem como determinadas configurações de IntelliSense são desabilitado, consulte solução de problemas.

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

    Observação

    Para arquivos binário , 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ção

    Se você tiver uma grande solução, gerar um gráfico de dependência pode levar algum tempo para analisar todos os arquivos ou causar uma falta de memóriadeexceção. Se isso ocorrer, reduzir o escopo de sua solução ou utilize o Explorer de arquitetura para selecionar elementos específicos e relações 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 resultante. Para mais informações, consulte Como: visualizar o código por meio da geração de gráficos de dependência.

Para obter informações sobre problemas que possam ocorrer durante 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 fonte c e C++ e arquivos de cabeçalho . Você pode escolher o seguinte escopo das dependências de visualizar:

Dependency graph for native code

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

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

  • O arquivo em aberto no momento e todos os arquivos de fonte do primeiro nível e arquivos de cabeçalho

Para ver as dependências entre

Siga estas etapas

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

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

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

O arquivo em aberto no momento e todos os arquivos de fonte do primeiro nível e arquivos de cabeçalho

TipTip
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 de dependências que você deseja ver.Para mais informações, consulte How to: Browse and Navigate Graph Documents.
  1. Abra um arquivo de fonte ou o arquivo de cabeçalho .

    O arquivo é aberto najanelado editorde 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.

First-level dependency graph for .h file

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

Solução de problemas

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

Problema

Causa possível

Resolução

Visual Studiodeixa de responder quando você tenta gerar um gráfico de dependência a partir do arquiteturamenu.

O arquivo debanco de dados (. PDB) do programapode estar corrompido.

Um arquivo. PDB armazena informações de depuração , tais como tipo, métodoe fonte informações do arquivo.

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

Recrie a solução e tente novamente.

Determinadas configurações para a IntelliSense banco de dados de navegação são desabilitado.

Determinadas configurações de IntelliSense podem ser desabilitado na Visual StudioOpçõescaixa de diálogo.

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

Para mais informações, consulte Opções, Editor de texto, C/C++, avançadas.

A mensagem Métodos 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 opção de vinculador.

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

Arquivos somente binário que são executados em x86 arquiteturas são suportadas.

O arquivo debanco de dados (. PDB) do programanão pode ser criado.

Um arquivo. PDB armazena informações de depuração , tais como tipo, métodoe fonte informações do arquivo.

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

Ative o /DEBUG opção de vinculador.

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

Não é possível em aberto 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, inclua o arquivo. PDB completa em vez disso.

Para 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

Concepts

Como: Procurar e reorganizar os gráficos de dependência

Como: editar e personalizar gráficos de dependência

Visualização de código existente

Other Resources

How to: Browse and Navigate Graph Documents