Usando pontos de interrupção e Tracepoints
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
Este tópico fornece algumas informações básicas sobre pontos de interrupção:
Glifos de ponto de interrupção
Pontos de interrupção básicos
Múltiplos pontos de interrupção em uma linha
Pontos de interrupção avançados
Limitações do ponto de interrupção
Glifos de ponto de interrupção
As janelas de origem e o Disassembly locais de ponto de interrupção de Mostrar janela exibindo símbolos chamado glifos na margem esquerda. A tabela a seguir descreve esses glifos.
Se você posicionar o mouse sobre um glifo de ponto de interrupção, aparece uma dica do ponto de interrupção com mais informações. Essa informação é especialmente útil para os pontos de interrupção de aviso e erro.
Glyph |
Description |
---|---|
O ponto de interrupção normal. O glifo sólido indica que o ponto de interrupção está ativado. O glifo vazio indica que ele está desativado. |
|
O ponto de interrupção Avançado. Ativa/desativado. O + sinal indica que o ponto de interrupção tem pelo menos um recurso avançado (como, por exemplo, condição, a contagem de ocorrências ou filtrar) anexado a ele. |
|
O ponto de interrupção mapeado. Ativa/desativado. O ponto de interrupção é definido no ASP /ASP.NET de código e mapeado para um ponto de interrupção na página HTML correspondente, ou definir em um arquivo de script do lado do servidor e mapeado para o arquivo de script do lado do cliente correspondente. |
|
Tracepoint. Ativa/desativado. Atingir este ponto executa uma ação especificada, mas não interromper a execução do programa. |
|
Tracepoint avançada. Ativa/desativado. O + sinal indica que o tracepoint tem pelo menos um recurso avançado (como, por exemplo, condição, a contagem de ocorrências ou filtrar) anexado a ele. |
|
Tracepoint mapeada. Ativa/desativado. O tracepoint é definido no ASP /ASP.NET de código e mapeado para um tracepoint na página correspondente do HTML. |
|
Erro de ponto de interrupção ou tracepoint. O x indica que o tracepoint ou ponto de interrupção não puderam ser definido por causa de uma condição de erro. |
|
Ponto de interrupção ou aviso de tracepoint. O ponto de exclamação indica que um ponto de interrupção ou tracepoint não pôde ser definido por causa de uma condição temporária. Geralmente, isso significa que o código no local do ponto de interrupção ou tracepoint não foi carregado. Também podem ser vista se você anexar a um processo e os símbolos para que o processo não são carregados. Quando o código ou os símbolos são carregados, o ponto de interrupção será ativado e o glifo será alterado. |
Pontos de interrupção básicos
Os pontos de interrupção mais básicos são aquelas definidas em uma linha de código-fonte ou em uma função. Os tópicos a seguir descrevem como definir e trabalhar com esses pontos de interrupção básicos:
Como: Definir um ponto de interrupção Simple
Como: Definir um ponto de interrupção de função
Como: Excluir pontos de interrupção
Como: Ativar ou desativar pontos de interrupção
Como: Edit a Breakpoint Location
Como: Definir um ponto de interrupção em uma chamada de função da janela Call Stack
Observação |
---|
Se você tiver mais de 64.000 linhas de código no arquivo de uma fonte, pontos de interrupção de linhas após 64.000 não serão atingidos. |
Múltiplos pontos de interrupção em uma linha
Às vezes, uma linha de código contém mais de uma instrução executável. Em tais casos, você pode definir mais de um ponto de interrupção na linha. Aparece uma caixa ao redor da instrução do código que contém o ponto de interrupção selecionado no momento. Esta caixa pode ser útil para distinguir os vários pontos de interrupção na mesma linha de código. Você pode selecionar um ponto de interrupção a pontos de interrupção janela, ou clicando-se a instrução que contém o ponto de interrupção na janela de origem.
Pontos de interrupção avançados
Se você tiver Visual C++ Express ou Visual Studio, qualquer edição, você pode definir pontos de interrupção mais-advanced, criar pontos de interrupção com recursos avançados e trabalhar com pontos de interrupção em maneiras mais eficiente.
Para algumas tarefas, a configuração padrão do IDE que você escolheu ao definir Visual Studio pode ocultar o comando de menu necessária. For more information, see Como: Restaurar comandos ocultos do depurador.
Pontos de interrupção em endereços de memória e alterações de memória
Você pode definir um ponto de interrupção em um endereço de memória. For more information, see Como: Definir um ponto de interrupção de endereço. Em C/C++, você pode definir um ponto de interrupção é atingido quando muda de memória. For more information, see Como: Definir um ponto de interrupção de dados (somente nativo).
Filtros, contagens de acerto e condições
Filtros, contagens de ocorrências e as condições são recursos avançadas que você pode anexar a qualquer tipo de ponto de interrupção, incluindo tracepoints.
Um filtro faz com que um ponto de interrupção seja configurado em computadores especificados, processos e threads. Os filtros são muito úteis quando você estiver depurando um aplicativo executado em vários processadores. For more information, see Como: Especificar um filtro de ponto de interrupção.
Uma contagem de ocorrências mantém registro de quantas vezes um ponto de interrupção é atingido. Por padrão, um ponto de interrupção interrompe a execução sempre que ele é atingido. Você pode alterar esse comportamento para que o ponto de interrupção quebras somente quando a contagem de ocorrências igual a ou excede o valor especificado ou quando a contagem de visitas é o múltiplo de um determinado valor. A contagem de visitas especificada é mantida somente para a sessão de depuração. For more information, see Como: Especifique uma contagem de visitas.
Uma condição é uma expressão que é avaliada para determinar se o ponto de interrupção será quebrado. For more information, see Como: Especificar uma condição de ponto de interrupção.
Interface avançada de pontos de interrupção
Usuários avançados podem tirar proveito dos recursos avançados, descrito nos tópicos a seguir:
Como: Use a janela Breakpoints
Como: Excluir pontos de interrupção
Como: Ativar ou desativar pontos de interrupção
Limitações do ponto de interrupção
Evite definir pontos de interrupção nos componentes do sistema quando estiver depurando o código de modo misto, nativo e gerenciado. Definir um ponto de interrupção em um componente do sistema durante a depuração de modo misto pode causar o common language runtime interromper e o depurador para parar de responder. For more information, see Como: Aplicativos de modo misto de depuração.
O depurador não anexar automaticamente a um XML Web service, a menos que você entrar a chamada. Isso significa que quaisquer pontos de interrupção definidos no XML Web service não serão atingidos, a menos que você entrar a chamada. Se você tentar executar o ponto de interrupção usando Start Debugging ou continuar, em vez de usar Step Into, não será atingido o ponto de interrupção.
Para obter mais informações sobre limitações de pontos de interrupção mapeadas em arquivos de script, consulte Limitações na depuração de Script.