Pergunta

Se eu definir um ponto de interrupção em um método, como posso ver o que chamado o método, quando o ponto de interrupção é atingido no Visual Studio 2008?

Foi útil?

Solução

Verifique a janela Call Stack (Debug, o Windows, Call Stack). Clicando duas vezes cada entrada não irá levá-lo para a declaração chamando. Você também pode clique direito sobre ele para ativar / desativar mostrando itens de código externos e chamadas de outros tópicos.

Outras dicas

Se você não pode ver nada na pilha de chamada em um ponto de interrupção do usuário set , que geralmente significa que foi chamado de código nativo.

Outro caso em que não é possível obter uma pilha: Você bateu Debug> Break Todos e o segmento principal está em um estado de espera / sleep, o depurador pode ter problemas para construir a pilha de chamadas. Eu acredito que o depurador usa o segmento principal para sua avaliação da função implícita.

Tente ligar (ou lançar) o modo misto (nativo e gerenciado) depurador de código e ver se isso endireita-lo.

Quando o ponto de interrupção é atingido, você pode ver toda a pilha de chamadas. Você pode trazer essa janela para cima passando pelo Debug menu-> Windows-> Chamada Stack.

Você também pode levá-la pelo atalho Alt + Ctrl + C

EDIT: Você também pode botão direito do mouse no nome de uma função, e ver o "chamadores Graph", que irá mostrar-lhe todos os chamadores para o seu método. Alternativamente, você pode trazer o navegador Call (indo até Ver-> Outros Windows-> Navegador de chamadas) e procurar o nome do seu método.

Se você não pode ver nada na janela Call Stack, então há definitivamente algo de errado. Gostaria de sugerir a famosa seqüência de R acções:

  • Repetir
  • Recompile
  • Restart
  • reinstalar o:)

Se o ponto de quebra é em uma função que é gerado por um evento, você pode não ter um back pilha de chamada direta para o chamador, e terá de permitir visualizar todo o código, e não apenas "apenas meu código".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top