Editar e continuar (C++)

Você pode usar o Hot Reload, anteriormente chamado editar e continuar, em projetos C++. Consulte Alterações de código com suporte (C++) para obter informações sobre as limitações de Editar e Continuar.

Você pode usar Editar e Continuar em projetos C++. Consulte Alterações de código com suporte (C++) para obter informações sobre as limitações de Editar e Continuar.

A opção do compilador /Zo (Aprimorar Depuração Otimizada) adiciona informações adicionais aos arquivos .pdb (símbolo) para binários compilados sem a opção /Od (Desabilitar (Depurar)).

/Zo desabilita Editar e Continuar. Consulte Como depurar código otimizado.

Habilitar ou desabilitar Editar e Continuar

Talvez você queira desabilitar a invocação automática de Editar e Continuar se estiver fazendo edições no código que não deseja aplicar durante a sessão de depuração atual. Você também pode reabilitar o recurso automático de Editar e Continuar.

Importante

Para obter as configurações de build necessárias e outras informações sobre a compatibilidade de recursos, consulte Editar e Continuar em C++ no Visual Studio 2015 Atualização 3.

  1. Se estiver em uma sessão de depuração, interrompa a depuração (Shift + F5).

  2. Abra Ferramentas>Opções>Depuração>Recarga Dinâmica do .NET/C++.

  3. Selecione uma ou ambas as opções a seguir para habilitar Editar e Continuar.

    • Habilitar Recarga Dinâmica e Editar e Continuar durante a depuração. Habilita a Recarga Dinâmica ao começar com o depurador anexado (F5).

    • Habilitar Recarga Dinâmica ao iniciar sem depuração. Habilita a Recarga Dinâmica ao começar sem o depurador anexado (Ctrl+F5).

    Alterar essas configurações afeta todos os projetos em que você trabalha. Você não precisa recriar seu aplicativo após alterar uma configuração. Se você compilar o aplicativo na linha de comando ou em um makefile, mas depurar no ambiente do Visual Studio, ainda poderá usar Editar e Continuar se definir a opção /ZI.

  1. Se estiver em uma sessão de depuração, interrompa a depuração (Shift + F5).

  2. No menu Ferramentas, escolha Opções.

  3. Na caixa de diálogo Opções, selecione Depuração > Geral.

  4. Para habilitar, selecione Habilitar Editar e Continuar. Para desabilitar a configuração, desmarque a caixa de seleção.

  5. No grupo Editar e Continuar, marque ou desmarque a caixa de seleção Habilitar Editar e Continuar Nativo.

    Alterar essa configuração afeta todos os projetos em que você trabalha. Você não precisa recriar seu aplicativo após alterar essa configuração. Se você compilar o aplicativo na linha de comando ou em um makefile, mas depurar no ambiente do Visual Studio, ainda poderá usar Editar e Continuar se definir a opção /ZI.

Aplique as alterações de código explicitamente

Em C++, Editar e Continuar pode aplicar alterações de código de duas maneiras. As alterações de código podem ser aplicadas implicitamente, quando você escolhe um comando de execução ou explicitamente usando o comando Aplicar Alterações de Código.

Quando você aplica as alterações de código explicitamente, o programa permanece no modo de interrupção – nenhuma execução ocorre.

  • Para aplicar alterações de código explicitamente, no menu Depurar, escolha Aplicar Alterações de Código.

Como parar alterações de código

Quando Editar e Continuar estiver no processo de aplicar alterações de código, você poderá interromper a operação.

Para parar de aplicar alterações de código:

  • No menu Depurar, escolha Parar de Aplicar Alterações de Código.

    Este item de menu está visível apenas quando as alterações de código estão sendo aplicadas.

    Se você escolher esta opção, nenhuma das alterações de código serão confirmadas.

Redefinir o ponto de execução

Algumas alterações de código podem fazer o ponto de execução ser movido para um novo local quando Editar e Continuar aplicar as alterações. Editar e Continuar coloca o ponto de execução o mais exatamente possível, mas os resultados podem não estar corretos em todos os casos.

Em C++, uma caixa de diálogo informa quando o ponto de execução é alterado. Você deve verificar se o local está correto antes de continuar a depuração. Se não estiver correta, use o comando Definir Próxima Instrução. Para obter mais informações, consulte Definir a próxima instrução a ser executada.

Trabalhar com código obsoleto

Em alguns casos, Editar e Continuar não pode aplicar imediatamente alterações de código ao executável, mas talvez consiga aplicá-las posteriormente se você continuar a depuração. Isso ocorre se você editar uma função que chama a função atual ou se adicionar mais de 64 bytes de novas variáveis a uma função na pilha de chamadas

Nesses casos, o depurador continua executando o código original até as alterações poderem ser aplicadas. O código obsoleto aparece como uma janela temporária do arquivo de origem em uma janela separada de origem, com um título como, por exemplo, enc25.tmp. A origem editada continuará aparecendo na janela do original. Se você tentar editar o código obsoleto, será exibida uma mensagem de aviso.