Edit & Continue Debug Visual Studio 2015

Alberto Monteiro
albertomonteiro
Published in
2 min readMar 13, 2015

Fala galera, beleza?!

Desde 2005 o Visual Studio tem suporte a função de Edit & Continue, que é basicamente uma função que permite você enquanto estiver debugando, editar o código sem parar de debugar.

Edit & Continue Debug Visual Studio 2015

O Visual Studio 2015 vai trazer um bocado de novidades bem legais, e essa é uma das principais. Diga adeus ao precário suporte a edit & continue anos 2005, agora com essa nova versão você vai poder fazer:

  1. Adicionar métodos
  2. Adicionar campos
  3. Adicionar construtores
  4. Adicionar propriedades
  5. Adicionar eventos
  6. Adicionar indexadores
  7. Adicionar inicializadores de campos e propriedades
  8. Adicionar delegates, enums, interfaces, tipos abstratos e genéricos
  9. Modificar o código do construtor
  10. Modificar os métodos que usam sintaxe lambda(expression-bodied members)
  11. Modificar inicializadores de campos e propriedades.
  12. Adicionar e modificar métodos que usam recursos pós 2005
  13. Async/await
  14. Operações com objetos dynamic
  15. Interadores
  16. Recursos do C# 6, como: string interpolation, null-conditional e outros.
  17. Reordenar membros do tipo
  18. Reordenar parâmetros tipos em tipos genéricos
  19. Refatorar código usando o CTRL + .

O que ainda não é suportado

Bom apesar de trazer varias melhorias, ainda, algumas coisas não são suportadas, veja a lista a seguir:

  1. Deleção de membros
  2. Deleção de tipos
  3. Deleção de métodos
  4. Modificação de assinatura de método
  5. Modificação de nome de método
  6. Modificação de generics, interfaces e tipos abstratos
  7. Adicionar ou modificar novos itens em um enum já existente
  8. Modificar expressões que contém await dentro de parenteses

Object IDs

O Visual Studio desde a versão 2008, tem um recurso muito legal, o Object ID. Esse recurso permite que você possa acompanhar o valor de uma variável mesmo quando não estiver no escopo dela. Para usar esse recurso hoje, siga os passos:

  1. Coloque um Breakpoint em seu código onde a variável que você quer acompanhar fique no escopo.
  2. Execute seu código e deixe a execução parar no breakpoint que você colocou
  3. Na janelas Locals ou nas Auto Windows, clique com o botão direito, e selecione a opção Make Object ID
  4. Agora você deverá ver algo assim na coluna de valor
  5. Então o novo valor do Object Id é gerado
  6. Agora coloque a variável na janela Watch usando seu Object ID, no caso 1#
  7. Agora, quando você entrar em outro método, você ainda continuara vendo sua variável na janela

Se você quiser entender mais sobre esse recurso, de uma olhada nesse link: http://www.wintellect.com/CS/blogs/jrobbins/archive/2008/04/18/finding-an-object-s-gc-generation-in-the-visual-studio-debugger.aspx

Esse recurso foi alterado na versão 2015, agora a sintaxe é um pouco diferente, ao invés de usar 1# você vai usar o simbolo $ antes do número, ficando dessa forma $1. Além disso, ele também vai dispor de um IntelliSense para os Object IDs já criados, e essa mudança de sintaxe torna mais consistente com as pseudo-variáveis, como por exemplo $exception.

Bom galera, por hoje é isso, curta abaixo o vídeo que fiz mostrando um pouco do Edit & Continue em ação.

Edit & Continue Debug em ação

[youtube]CocaZosG8nk[/youtube]

--

--