Compartilhar via


Modos operacionais

Há três modos nos quais o IDE pode operar, como se segue:

  • Modo de design

  • Modo de execução

  • Modo de interrupção

    Como seu DE (mecanismo de depuração) personalizado faz a transição entre esses modos é uma decisão de implementação que exige que você esteja familiarizado com os mecanismos de transição. O DE pode ou não implementar diretamente esses modos. Esses modos são realmente modos de pacote de depuração que alternam com base na ação do usuário ou nos eventos do DE. Por exemplo, a transição do modo de execução para o modo de interrupção é instigada por um evento de parada do DE. A transição do modo de interrupção para o modo de execução ou modo de etapa é instigada pelo usuário executando operações como Parar ou Executar. Para obter mais informações sobre transições do DE, confira Controle de execução.

Modo de design

O modo de design é o estado de não execução da depuração do Visual Studio, durante o qual você pode definir recursos de depuração em seu aplicativo.

Apenas alguns recursos de depuração são usados durante o modo de design. Um desenvolvedor pode optar por definir pontos de interrupção ou criar expressões de inspeção. O DE nunca é carregado nem chamado enquanto o IDE está no modo de design. A interação com o DE ocorre apenas durante os modos de execução e interrupção.

Modo de execução

O modo de execução ocorre quando um programa é executado em uma sessão de depuração no IDE. O aplicativo é executado até o encerramento, até que um ponto de interrupção seja atingido ou até que uma exceção seja lançada. Quando o aplicativo é executado até o encerramento, o DE faz a transição para o modo de design. Quando um ponto de interrupção é atingido ou uma exceção é lançada, o DE faz a transição para o modo de interrupção.

Modo de Interrupção

O modo de interrupção ocorre quando a execução do programa de depuração é suspensa. O modo de interrupção oferece ao desenvolvedor um instantâneo do aplicativo no momento da interrupção e permite que o desenvolvedor analise o estado do aplicativo e altere como o aplicativo será executado. O desenvolvedor pode exibir e editar código, examinar ou modificar dados, reiniciar o aplicativo, encerrar a execução ou continuar a execução a partir do mesmo ponto.

O modo de interrupção é inserido quando o DE envia um evento de parada síncrona. Os eventos de parada síncrona, também chamados de eventos de parada, notificam o SDM (gerenciador de depuração de sessão) e o IDE que o aplicativo que está sendo depurado parou a execução do código. As interfaces IDebugBreakpointEvent2 e IDebugExceptionEvent2 são exemplos de eventos de parada.

Os eventos de parada são continuados por uma chamada a um dos seguintes métodos, que fazem a transição do depurador do modo de interrupção para o modo de execução ou de etapa:

Modo de etapa

O modo de etapa ocorre quando o programa avança para a próxima linha de código, ou entra, ultrapassa ou sai de uma função. Uma etapa é executada chamando o método Etapa. Esse método requer DWORDs que especificam as enumerações STEPUNIT e STEPKIND como parâmetros de entrada.

Quando o programa avança com êxito para a próxima linha de código ou para uma função, ou é executado para o cursor ou para um ponto de interrupção definido, o DE automaticamente faz a transição de volta para o modo de interrupção.

Confira também