Visualizar dependências de código em gráficos de dependência

Consulte e para entender a organização do seu código e suas dependências, você pode criar gráficos de dependência no Visual Studio final.Que são elementos gráficos de dependência e como eles são úteis?

Projetos suportados:

  • Os projetos visual C# e Visual Basic .NET. NET, incluindo janelas armazenam apps, e arquivos de assembly (.dll ou .exe).

  • Visual C++ projetos, incluindo os apps de armazenamento do windows, que tem C ou C++ código gerenciado (ou nativo), arquivos de cabeçalho (.h ou #include), e arquivos binários.

Exibe:

Neste tópico

  • Como eu obto começado?

  • Visualizando dependências em seu código

  • Compartilhando gráficos de dependência

  • Gerar gráficos para processamento em lotes

  • Solução de problemas

Como eu obto começado?

  • obter uma visão geral de sua solução: Em o menu de Arquitetura , escolha Gere o gráfico de dependência, para a solução.

    Você obtém um gráfico que mostra os conjuntos de nível superior.Agora você pode explorar esses assemblies expandindo o.Mova o ponteiro do mouse em um assembly, e então escolha o botão de viga (^) quando aparece.Faz o mesmo para que os namespaces, tipos, e membros continuem a explorar o seu código.

    Gráfico de dependência de nível superior de módulos (assemblies)

    Para ver as dependências entre grupos, escolha um item no gráfico.

    Gráfico com itens selecionados e grupos expandidos

    Para obter mais informações, consulte obter uma visão geral de sua solução.Você também pode executar analisadores para localizar problemas potenciais em seu código.Consulte Localizar possíveis problemas no código em gráficos de dependência.

  • visualize dependências específicas em sua solução: Em Gerenciador de Soluções, itens selecionados de seu interesse.Você pode selecionar projetos, referências assembly, pastas, arquivos, tipos, e seus membros.Para localizar um item específico, use a caixa de pesquisa de Gerenciador de Soluções .

    Em a barra de ferramentas de Gerenciador de Soluções , escolha Crie um novo documento de gráficoCriar novo gráfico do botão de nós selecionados.

    - ou -

    Arraste itens de Gerenciador de Soluções a um gráfico existente.

    DicaDica

    Para criar um gráfico em branco, no menu de Arquivo , escolha Novo, Arquivo, Gráfico de documento direcionado.Para incluir a hierarquia pai para seus itens, pressione e segure a tecla de CTRL quando você arrastar itens.

    Você obtém um gráfico que mostra os itens selecionados.Agora você pode explorar esses itens expandindo o.Mova o ponteiro do mouse sobre um item, e então escolha o botão de viga (^) quando aparece.

    Para obter mais informações, consulte visualize dependências específicas em sua solução.Você também pode executar analisadores para localizar problemas potenciais em seu código.Consulte Localizar possíveis problemas no código em gráficos de dependência.

Que são elementos gráficos de dependência e como eles são úteis?

Gráficos de dependência fornecem uma maneira para visual que você examine o código e entenda as suas dependências sem ter que ser através dos arquivos e as linhas de código.Você pode ver itens e relações apenas como nós e links, ou setas.Por exemplo, suponha que você tenha uma revisão de código a ser executado.Você tem um conjunto de arquivos que contêm as alterações pendentes.Você pode visualizar o código e dependências para essas alterações criando um gráfico de dependência dos arquivos.Consulte visualize dependências específicas em sua solução.

Por padrão, as relações de recipiente são representadas como os grupos, que você pode expandir e recolher.

Gráfico de dependência conosco agrupados

DicaDica

O botão Buscar novamente o ícone de filhos de filhos de Refetch permite que você recuperar os membros do grupo que existem no código mas não o aparece no gráfico.Nós também aplicamos um estilo diferente para links de chamadas para que você possa consultá-lo mais facilmente.Consulte Editar e personalizar gráficos de dependência.

Você também pode visualizar relacionamentos do recipiente como links.Abra o menu de atalho para o gráfico, escolha Grupo, desativar o agrupamento:

Gráfico de dependência conosco e vínculos

Você também pode executar analisadores para localizar problemas potenciais em seu código.Consulte Localizar possíveis problemas no código em gráficos de dependência.

Quando você gera um gráfico de dependência a primeira vez, o Visual Studio indexa todas as dependências que encontrar.Este processo pode dedicar algum tempo, especialmente para grandes soluções ou elementos gráficos com vários links.Em o entanto, o índice melhora o desempenho das operações posteriores.Se o código for alterado, o Visual Studio reindexes somente o código atualizado.

Se você não desejar esperar o gráfico para concluir gerar, você pode cancelar esta etapa a qualquer momento e tentar as sugestões a seguir:

  • Gráfico somente as dependências de seu interesse.

  • Antes que você gere o gráfico para uma solução inteira, reduza o escopo da solução.

Embora o Visual Studio possa executar com 1 GB de memória, é recomendável que seu computador tenha pelo menos 2 GB de memória para evitar atrasos longos quando o Visual Studio criar o índice de código e gerar o gráfico.

ObservaçãoObservação

O Visual Studio gera um gráfico se pelo menos um projeto compila com êxito.Mostra somente as dependências para o código que compila com êxito.Se ocorrerem erros de compilação certos componentes, então os erros para esses componentes aparecem no gráfico.Certifique-se de que a compilação de um componente realmente e tem dependências em ela antes que você faça decisões de arquitetura com base no gráfico.

Pode levar mais tempo criar elementos gráficos ou adicionar itens a um gráfico no solution Explorer quando a propriedade de Copiar para Diretório de Saída de um item de projeto é definida como Copiar sempre.Isso pode fazer com que os problemas com compilações incrementais e Visual Studio reconstruam o projeto cada vez.Para aumentar o desempenho, alterar essa propriedade como Copiar se mais recente ou a PreserveNewest.Consulte As compilações incrementais.

Visualizando dependências em seu código

  • Obter uma visão geral do seu código

  • Visualize dependências específicas no seu código

  • Visualize dependências entre os arquivos de origem de C ou C++ e arquivos de cabeçalho

  • Gerar gráficos para processamento em lotes usando GraphCmd.exe

DicaDica

Para gerar gráficos mais completo para projetos C++, a opção de compilador informações/FRprocurar () deve ser definida em esses projetos.Caso contrário, uma mensagem aparecerá e solicita que você defina a este padrão.Se a mensagem aparece, você pode definir a opção somente para o gráfico atual escolhendo OK, ou você pode definir a opção e ocultar a mensagem para todos os elementos gráficos posteriores.Para fazer a mensagem aparecer para elementos gráficos posteriores, defina a chave do Registro a seguir a 0 ou exclua a chave:

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

Consulte / FR, /Fr (criar.Arquivo SBR).

Obter uma visão geral do seu código

Você pode criar um gráfico de dependência para sua solução inteira ou para os binários ou assemblies.

Dd409453.collapse_all(pt-br,VS.110).gifObter uma visão geral de sua solução

  1. Em o menu de Arquitetura , escolha Gere o gráfico de dependência, para a solução.

    Você obtém um gráfico que mostra os conjuntos de nível superior e links agregados entre eles.A espessura de um link agregado indica quantos dependências individuais representa o link.O grupo de Externos contém nada fora da solução, incluindo dependências da plataforma.As montagens externas mostram apenas esses itens que são usados.

    Gráfico de dependência de nível superior de módulos (assemblies)

  2. Agora você pode explorar esses assemblies expandindo o.Mova o ponteiro do mouse em um assembly, e então escolha o botão de viga (^) quando aparece.(Teclado: Escolha o item, então escolha a chave de mais (+).) Faz o mesmo para que os namespaces, classes, e membros continuem a explorar o seu código.

  3. Para obter mais informações sobre um item ou um link, mova o ponteiro sobre o item até que uma ferramenta de dica aparece.

  4. Para examinar os itens e as dependências representados por um link agregado, selecione o link primeiro, e abra o menu de atalho.Escolha Mostrar, Links de contribuição no diagrama atual ou links de contribuição em um novo diagrama.

    O Visual Studio expande os grupos em ambas as extremidades de link e mostra apenas esses itens e dependências que participam no link.Para ver os itens que existem no código mas estão faltando de um grupo, escolha filhos de RefetchBuscar novamente o ícone de filhos.

Consulte:

Dd409453.collapse_all(pt-br,VS.110).gifObter uma visão geral sobre assemblies dos binários ou

  • Crie um elemento gráfico em branco, ou abra um gráfico existente (arquivo de .dgml).Visual Studio externo, arraste conjuntos os binários ou para o gráfico.

    ObservaçãoObservação

    Você pode arrastar módulos ou os binários do Windows Explorer somente se você estiver executando o Windows Explorer e Visual Studio nas mesmas permissões de (UAC) de controle de acesso em nível de usuário.Por exemplo, se UAC estiver ativada, e você estiver executando Visual Studio com o administrador, então o Windows Explorer bloqueará a operação arrastar.Para contornar de isso, certifique-se de que o Visual Studio está executando como o administrador, ou a volta UAC fora.Observe que no windows 8, Windows Explorer é Arquivo Explorer.

    -  ou  -

    1. Em o menu de Arquitetura , escolha Janelas, arquitetura Explorer.

    2. Em a primeira coluna, em Sistema de arquivos, escolha Selecionar Arquivos.

    3. Em a caixa de Abrir , localize e selecione os módulos ou os binários.Escolha Abrir para adicioná-los para a próxima coluna em arquitetura Explorer.

    4. Em, selecione arquitetura Explorerassemblies ou os binários.

    5. A a direita da coluna que contém assemblies os binários ou selecionados, escolha a coluna recolhida de ação para para expandi-la.

      DicaDica

      A coluna recolhida de ação aparece realçado quando você move o ponteiro sobre ele.

    6. Em a coluna de ação, em Comandos, escolha Abrir para gerar um gráfico de dependência.

      Consulte Localizar o código com o Explorer de Arquitetura.

Dd409453.collapse_all(pt-br,VS.110).gifPara criar um gráfico em branco

  1. Para abrir um novo elemento gráfico em branco sem adicionar à sua solução, no menu de Arquivo , escolha Novo, Arquivo.

    -  ou  -

    Para adicionar um gráfico em branco para a pasta de Itens de Solução em sua solução, abra o menu de atalho para o nó de nível superior de solução.Escolha Adicionar, Novo Item.

  2. Em Instalado, escolha Geral.

  3. Em o painel direito, escolha Gráfico de documento direcionado.

    Você também pode adicionar um gráfico em branco a um projeto modelagem do menu de Arquitetura escolhendo Novo diagrama.

Visualize dependências específicas no código

Você pode criar um gráfico de dependência para itens específicos em sua solução ou em em módulos (assemblies) e em binários.

Visualize dependências específicas em sua solução

Como visualizar o código específico

Como visualizar o código específico e os pais

Dd409453.collapse_all(pt-br,VS.110).gif

  1. Em Gerenciador de Soluções, itens selecionados de seu interesse.Você pode selecionar projetos, referências assembly, pastas, arquivos, tipos, e seus membros.Para localizar um item específico, use a caixa de pesquisa de Gerenciador de Soluções .

    DicaDica

    Para localizar itens com dependências em tipos ou membros em, abra o menu de atalho para o tipo ou membro em Gerenciador de Soluções.Escolha o tipo de dependência.O solution Explorer mostra os itens que têm uma dependência que você especificou.Selecione os resultados.

  2. Para representar graficamente seus itens e seus membros, na barra de ferramentas de Gerenciador de Soluções , escolha Crie um novo documento de gráficoCriar novo gráfico do botão de nós selecionados.

    -  ou  -

    Para incluir a hierarquia pai no gráfico, abra a lista de Crie um novo documento de gráfico… na barra de ferramentas de Gerenciador de Soluções , então escolha Novo elemento gráfico de dependência com ancestrais.

    DicaDica

    Você também pode arrastar itens para o gráfico.Primeiro, crie um elemento gráfico em branco ou abre um gráfico existente (arquivo de .dgml).Para incluir a hierarquia do recipiente pai, pressione e segure a tecla de CTRL quando você arrastar itens.

    Você obtém um gráfico que mostra os itens selecionados.

  3. Para explorar itens, você pode expandir-los.Mova o ponteiro do mouse sobre um item, então escolha o botão de viga (^) quando aparece.Para expandir todos os itens, abra o menu de atalho para o gráfico.Escolha Grupo, Expandir Tudo.

    ObservaçãoObservação

    Este comando não está disponível se expande todas os grupos gera problemas de um gráfico inutilizável ou de memória.

  4. Para recuperar os itens que faltam de um grupo, escolha filhos de RefetchBuscar novamente o ícone de filhos dentro do grupo.

  5. Para ver mais itens relacionados a esse o elemento gráfico, abra o menu de atalho para o item.Escolha Mostrar e a relação de itens de seu interesse.

    Para um assembly, escolha:

    Assemblies referenciados

    Adicionar conjuntos que faz referência a esse assembly.As montagens externas aparecem no grupo de Externos .

    Referenciando assemblies

    Adicionar conjuntos na solução que fazem referência a esse assembly.

    Para uma classe, escolha:

    Tipos de Base

    Para uma classe, adicione a classe base e interfaces implementadas.

    Para uma interface, adicione as interfaces base.

    Tipos derivados

    Para uma classe, adicione as classes derivadas.

    Para adicionar uma interface, derivados as interfaces e classes ou estruturas os implementando.

    Todos os tipos de base

    Adicione a hierarquia de classe base ou interface recursivamente.

    Todos os tipos derivados

    Para adicionar uma classe, todas as classes derivadas recursivamente.

    Para adicionar uma interface, todas as classes derivadas e implementar classes ou estruturas recursivamente.

    Hierarquia de retenção

    Adicione a hierarquia do recipiente pai.

    Tipos usados

    Adicionar todas as classes e seus membros que usa essa classe.

    Usado - Por tipos

    Adicionar todas as classes e seus membros que usam essa classe.

    Para um método, escolha:

    Hierarquia de retenção

    Adicione a hierarquia do recipiente pai.

    Método chamado

    Adicionar métodos que este método chama.

    Chamar-Por métodos

    Adicionar métodos que chama esse método.

    Métodos substituídos nos tipos de base

    Para um método que sobrescreve outros métodos ou implementa o método de uma interface, adicione todos os métodos abstratos ou virtuais nas classes base que são substituídas e, se houver, o método de interface que é implementado.

    Campos referenciados

    Adicione os campos que referencia este método.

    Para um campo, escolha:

    Hierarquia de retenção

    Adicione a hierarquia do recipiente pai.

    Referenciando métodos

    Adicionar métodos que referenciam este campo.

Consulte:

Dd409453.collapse_all(pt-br,VS.110).gifVisualize dependências específicas em assemblies ou em binários

  1. Em o menu de Arquitetura , escolha Janelas, arquitetura Explorer.

  2. Em a primeira coluna, em Sistema de arquivos, escolha Selecionar Arquivos.

  3. Em a caixa de Abrir , localize e selecione os módulos ou os binários.Escolha Abrir para adicioná-los para a próxima coluna em arquitetura Explorer.

  4. Em a próxima coluna, selecione os módulos ou os binários.

    Por padrão, a coluna seguir mostra os itens contidos pelos itens selecionados.

    DicaDica

    Para selecionar outros itens relacionados, expanda a coluna recolhida à direita da coluna com as seleções.Em Navegação em Nó, selecione os tipos de itens de seu interesse.Em Navegação de Saída ou Navegação de Entrada, selecione os tipos das relações de seu interesse.Consulte Localizar o código com o Explorer de Arquitetura.

  5. Localizar e selecionar todos os itens que você deseja colocar no gráfico.

  6. Para criar um novo elemento gráfico, na barra de ferramentas de arquitetura Explorer , escolha Crie um novo documento de gráfico de todos os nós selecionadosCriar novo gráfico do botão de nós selecionados.

    O Visual Studio cria o gráfico e abra.

    -  ou  -

    Para adicionar uma seleção a um gráfico, siga estas etapas:

    1. Abra o arquivo de .dgml de gráfico, ou crie um elemento gráfico em branco.

    2. Em a barra de ferramentas de arquitetura Explorer , escolha Adicione todos os nós selecionados para o documento visível no momento do gráficoAdicionar todos os nós para o gráfico de botão.

      -  ou  -

      Arraste itens de arquitetura Explorer do gráfico.

Visualize dependências entre os arquivos de origem do c e C++ e arquivos de cabeçalho

Para ver entre dependências

Faça isto

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

Em o menu de Arquitetura , escolha Gere o gráfico de dependência, Para incluir Arquivo.

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

O arquivo aberto e os arquivos de origem e os arquivos de cabeçalho relacionados

  1. Abrir um arquivo de origem ou o arquivo de cabeçalho.

  2. Abra o menu de atalho em qualquer lugar dentro do arquivo.Escolha Gere o gráfico de inclui arquivos.

Gráfico de dependência de primeiro nível de arquivo. h
ObservaçãoObservação

Quando você abre uma solução que contém projetos Visual C++, pode dedicar algum tempo para atualizar o banco de dados do IntelliSense.Durante esse tempo, você não poderá criar gráficos de dependência para arquivos de cabeçalho (.h) ou #includeaté que o banco de dados do IntelliSense concluir a atualização.Você pode monitorar o andamento de atualização na barra de status do Visual Studio.Para resolver problemas ou mensagens que aparecem como determinadas configurações do IntelliSense estão desativadas, consulte Solução de Problemas.

Compartilhando gráficos de dependência

Salvar e compartilhar o gráfico com outros usuários do Visual Studio

  • Use o menu de Arquivo para salvar o gráfico.

    -  ou  -

    Para salvar o elemento gráfico como parte do projeto específico, abra o menu de atalho para a superfície do gráfico.Escolha Mover <DependencyGraphName.dgml> em e o projeto onde você deseja salvar o gráfico.

    O Visual Studio salva o elemento gráfico como um arquivo de .dgml que você possa compartilhar com outros usuários do Visual Studio finais, prêmio do Visual Studio professional, e do Visual Studio.

    ObservaçãoObservação

    Antes que você compartilhe um gráfico com aqueles que usam o prêmio do Visual Studio e o Visual Studio professional, expanda certifique-se todos os grupos, mostram nós ocultos e o grupo cruzado links, e recupera os nós excluídos que você desejar outro para ver no gráfico.Caso contrário, outros usuários poderão consultar esses itens.

    O seguinte erro pode ocorrer quando você salva um gráfico que está em um projeto modelando ou foi copiado de modelando um projeto para outro local:

    “Não pode salvar nome de arquivo fora do diretório do projeto.Os itens associados não são suportados.”

    O Visual Studio mostra o erro, mas cria a versão exceto pelo fato de qualquer maneira.Para evitar o erro, crie um elemento gráfico fora do projeto modelando.Você pode então salve o para o local que você deseja.Simplesmente copiar o arquivo para outro local na solução e em seguida, tentar salvar a não funcionarão.

Exportar o elemento gráfico como uma imagem para que você possa o copiar outros aplicativos, como o Microsoft Word ou Powerpoint

  1. Abra o menu de atalho para a superfície do gráfico.Escolha Editar, Copiar Imagem.

  2. Cole a imagem em outro aplicativo.

Exportar o elemento gráfico como um arquivo para que você XPS podem ver em visualizadores do XML ou XAML como o Internet Explorer

  1. Abra o menu de atalho da superfície do gráfico.Escolha Salvar como XPS.

  2. Em a caixa de diálogo de Salvar como , navegue até onde você deseja salvar o arquivo.

  3. Nomeie o gráfico.Certifique-se de que a caixa de Salvar como tipo é definida como XPS (arquivos *.xps).Escolha Salvar.

Gerar gráficos para processamento em lotes

Você pode gerar documentos de gráfico (arquivos de .dgml) no modo em lotes usando a ferramenta de linha de comando GraphCmd.exe .Por exemplo, você pode executar a ferramenta após cada compilação para localizar as dependências entre as compilações que foram alterados.Para localizar essa ferramenta, procure na pasta a seguir: C:\Program Files\Microsoft Visual Studio 11,0 \ Common7 \ IDE.

ObservaçãoObservação

GraphCmd.exe oferece suporte somente o código .NET e gera as informações de dependência somente para assemblies ou arquivos de .dgml, não código-fonte em arquivos de solução ou de projeto do Visual Studio.GraphCmd.exe executando fora do Visual Studio, para que o suporte para ações em consultas de DGQL é limitado.

Use a seguinte sintaxe para GraphCmd.exe:

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

DicaDica

Você pode especificar várias vezes as seguintes opções: -input, -query, -exec, e -path.

A tabela a seguir descreve as opções para GraphCmd.exe:

-?

Exibir a ajuda para GraphCmd.exe.

-all

Inclua todos os resultados intermediários de consulta, não apenas para o conjunto mais recente do nó.

-exceptions

Relatar as exceções de consulta como um arquivo de documento de gráfico .dgml ().

-inputFile_Name

Processar o arquivo especificado de .dgml.

Isso é útil para post-processar um grande o arquivo e filtragem de .dgml ele para que você possa o visualizar mais facilmente no Visual Studio.

-queryFile_Name

Execute o arquivo direcionado especificado de linguagem de consulta de gráfico DGQL .dgql (ou).

Consulte:

-exec "DGQL_Statement"

Execute a instrução especificada de DGQL.

Consulte Linguagem de consulta direcionado compreensão (DGQL) do gráfico.

-outputFile_Name

O arquivo de saída especificado .dgml.

-pathalias=caminho

Especifique um novo alias para usar na entrada e na saída de documentos de DGML.

Por exemplo:

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

Consulte alias para caminhos de uso geral.

Dd409453.collapse_all(pt-br,VS.110).gifAlias para caminhos de uso geral

O alias para caminhos de uso geral reduzem o tamanho do arquivo de .dgml e de tempo necessário para carregar ou salve o arquivo.Para criar um alias, adicione uma seção de <Paths></Paths> no final do arquivo de .dgml.Em esta seção, adicione um elemento de <Path/> para definir um alias para o caminho:

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

Para referenciar alias de um elemento no arquivo de .dgml, incluindo Id do elemento de <Path/> com um cifrão ($) e (parênteses ()):

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

Para editar arquivos de .dgml, consulte Editar e personalizar gráficos de dependência.

Dd409453.collapse_all(pt-br,VS.110).gifLinguagem de consulta direcionado compreensão (DGQL) do gráfico

DGQL é uma linguagem de consulta leve que você pode usar para criar DGML.Uma declaração segue um padrão de DGQL alternando de seleção e as ações do nó para que cada seleção de nó cria a entrada para a ação seguir, cujas a saída se tornam dados de entrada para a seleção a seguir do nó, e assim por diante.

o formato de uma instrução de DGQL é:

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

A tabela a seguir descreve a sintaxe de DGQL usada para selecionar nós:

*

Selecione todos os nós.

+ "text"

Selecione todos os nós que contêm “texto”.

+ Id.Equals("text")

Selecione todos os nós cujo Id é igual a “texto”.

+ Background.Contains("text")

Selecione todos os nós cujo atributo de Background possui um valor que contém a cadeia de caracteres “texto”.

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

Selecione todos os nós que correspondem “text1” ou “text2”.

+ MyProperty="True"

Selecione todos os nós que tem uma propriedade chamada MyProperty cujo valor é “true”.

- Label.Contains("text")

Selecione todos os nós exceto aqueles que têm um atributo de Label esse Contains a cadeia de caracteres “texto”.

+ Category.Is("MyCategory")

Selecione todos os nós que têm uma categoria chamada MyCategory ou que herdam de MyCategory.

A seguinte tabela mostra exemplos de ações diretas que podem ser executadas em nós selecionados:

Ação de exemplo

Descrição

Microsoft.Contains

Retornar todos os nós que estão contidas pelos nós de entrada.Você pode substituir Contains com uma categoria diferente de link.

Microsoft.Open

Abra o código-fonte para os nós de entrada.

ObservaçãoObservação
Works Visual Studiosomente dentro de.

Microsoft.AllOutBoundLinks

Retornar todos os nós que são o destino de um link de saída de nós de entrada.

Microsoft.AllInboundLinks

Retornar todos os nós que são ao final da fonte de um link a nós de entrada.

Microsoft.Core.CreateGroupsByProperties

Chamar a ação de GroupByProperties .

Microsoft.AllNodes

Retornar todos os nós do gráfico inteiro até aqui.

As ações dados corretamente selecione os itens somente com base nos dados nos nós e nos links de entrada.Quando a correspondência categorias usando ações dados corretamente, as categorias herdadas são incluídas.A seguinte tabela mostra exemplos de ações dados corretamente:

Tipo

Descrição

Node:Both:Category

Retornar todos os nós que têm a categoria Category e estão conectados com os nós de entrada por um link que aponta em ambas as direções.

Link:Both:Category

Retornar todos os nós que estão conectados com os nós de entrada por um link que os pontos em qualquer direção e têm a categoria Category.

Link:Backward:Category

Retornar todos os nós que apontam para os nós de entrada com um link que possui a categoria Category.

Link:Forward:Category

Retornar todos os nós que apontam de nós de entrada com um link que possui a categoria Category.

Dd409453.collapse_all(pt-br,VS.110).gifDicas

  • Normalmente, há uma ação “default” para um determinado conjunto de nós de entrada, que é automaticamente selecionado pela arquitetura Explorer.Para obter o mesmo comportamento, use uma ação vazia: //

  • Espaço em branco não é significativo em DGQL, para que você possa formatar sua consulta para caber se necessário em uma linha.Isso é útil quando você usa a opção de –exec com GraphCmd.

  • Para depurar DGQL, use a ação “Execute Expanded" na arquitetura Explorer ajudá-lo a ver cada etapa de consulta e a localizar a passo que não está gerando os resultados esperados.

Dd409453.collapse_all(pt-br,VS.110).gifExemplo

A seguinte declaração de DGQL executa uma consulta como descrito nas seguintes etapas:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Escolha o nó de Modo de Exibição de Classe na primeira coluna de arquitetura Explorer.

  2. Executar a ação “Microsoft.Solution.ClassView", retornando todos os namespaces na solução. 

  3. Use * para selecionar todos os namespaces.

  4. Selecione todos os nós que têm a categoria CodeSchema_Class e são relacionados 2 esses namespaces por um link em ambas as direções.Esses serão geralmente links de confinamento.

  5. Filtrar as classes resultantes somente àquelas que têm a propriedade CodeSchemaProperty_IsPublic="True".

Tecnicamente, a ação "Microsoft.Solution.ClassView" é desnecessária pois é a ação “default” para o nó de Modo de Exibição de Classe .Portanto, você pode substituir que ação com // simplificar a consulta e a formatação em uma única linha da seguinte maneira:

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

Solução de problemas

Os seguintes itens não são suportados para o código de C e C++:

  • Os tipos base não aparecem em elementos gráficos que incluem a hierarquia pai.

  • A maioria dos itens de menu de Mostrar não estão disponíveis para o código de C e C++.

Os seguintes problemas podem ocorrer ao criar gráficos de dependência para o código de C e C++:

Problema

Causa possível

Resolução

O elemento gráfico de dependência não são gerados.

Nenhum projeto na solução foi criado com êxito.

Corrigir erros de compilação que ocorreram e regenere no gráfico.

Visual Studio se torna sem resposta quando você tenta gerar um gráfico de dependência de menu de Arquitetura .

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

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

Consulte [OBSOLETO] Arquivos de banco de dados de programa (C++).

Recriar a solução e tente novamente.

Determinadas configurações para o IntelliSense que procura o banco de dados estão desativadas.

Determinadas configurações do IntelliSense podem ser desativados na caixa de diálogo de Visual StudioOpções .

Ativar as configurações para habilitar-las.

Consulte Opções, Editor de texto, C/C++, avançadas.

A mensagem métodos desconhecidos aparece em um nó do método.

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

O arquivo binário não pode ter uma tabela de base de realocação.

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

Consulte / FIXOS (endereço Base fixo).

O arquivo de banco de dados do programa (.pdb) não pode ser compilado.

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

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

Ativar a opção de /DEBUG no vinculador.

Consulte /Debug (gerar informações de depuração).

Não é possível abrir ou localizar o arquivo de .pdb em locais esperados.

Certifique-se de que o arquivo de .pdb existe em locais esperados.

Informações de depuração foi descascada do arquivo de .pdb.

Se a opção de /PDBSTRIPED foi usada no vinculador, inclua o arquivo completo de .pdb em vez de isso.

Consulte / PDBSTRIPPED (segmentar símbolos privados).

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

Quando o chamador é um thunk, tente usando _declspec(dllimport) para evitar o thunk.

Consulte:

Que outro posso fazer?

Onde posso obter mais informações?

Categoria

Links

Fóruns

Blogs