Quando chamando um centenas de função de Times, como saber qual telefonar falha?
Este tópico se aplica a:
Edição |
Visual Basic |
C# |
C++ |
Desenvolvedores Web |
---|---|---|---|---|
Express |
Somente nativo |
|||
Padrão |
Somente nativo |
|||
PRO e equipe |
Somente nativo |
Legenda de tabela:
Aplica-se |
|
Não é aplicada |
|
Comando ou comandos oculta por padrão. |
Descrição do problema
Meu programa falhar em uma telefonar para uma determinada função, CnvtV. O programa provavelmente chama essa função algumas centenas de vezes antes de falhar.Se eu conjunto um ponto de interrupção local em CnvtV, o programa pára em cada telefonar para essa função, e eu não quiser que. Não sei o que fazer com as condições que a telefonar para falha, portanto, eu não é possível conjunto um ponto de interrupção condicional.O que posso fazer?
Solução
Você pode conjunto um ponto de interrupção na função com o Contagem de ocorrências campo para um valor tão alto que ele nunca irá ser acessado.Nesse caso, porque você acredita que a função CnvtV é chamado de algumas centenas de vezes, você pode conjunto Contagem de ocorrências 1000 ou mais.Em seguida, execute o programa e aguarde a telefonar para falha.Quando ele faz, abra a janela pontos de interrupção e examine a lista de pontos de interrupção.O ponto de interrupção definido em CnvtV aparece, seguido pela contagem de ocorrências e número de iterações restantes:
CnvtV(int) (no condition) when hit count is equal to 1000 (currently 101)
Agora você sabe que a função falhou na telefonar 101st.Se você reiniciar o ponto de interrupção com uma contagem de ocorrências de 101 e execute novamente o programa, o programa pára na telefonar para CnvtV que causou a sua falha.
Consulte também
Conceitos
Perguntas freqüentes de código nativo de depuração
Pontos de interrupção e Tracepoints