Partilhar via


(Visual Studio SDK) de manipulação de exceção

A seguir descreve o processo que ocorre quando as exceções são lançadas.

Processo de manipulação de exceção

  1. Quando uma exceção é lançada pela primeira vez, mas antes que ele é tratado pelo manipulador de exceção no programa que está sendo depurado, o mecanismo de depuração (DE) envia um IDebugExceptionEvent2 para o Gerenciador de depuração de sessão (SDM) como um evento de parada. O IDebugExceptionEvent2 é enviada se somente as configurações para a exceção (especificado na caixa de diálogo exceções no pacote de depuração) especificam que o usuário deseja parar de notificações de exceções de primeira chance.

  2. As chamadas SDM IDebugExceptionEvent2::GetException para obter a propriedade de exceção.

  3. As chamadas de pacote de depuração IDebugExceptionEvent2::CanPassToDebuggee para determinar as opções para apresentar ao usuário.

  4. O pacote de depuração pergunta ao usuário como tratar a exceção, abrindo uma caixa de diálogo de exceções de primeira chance.

  5. Se o usuário optar por continuar, o SDM chama IDebugExceptionEvent2::CanPassToDebuggee.

    • Se o método retorna S_OK, chama IDebugExceptionEvent2::PassToDebuggee.

      - ou -

      Se o método retorna S_FALSE, o programa que está sendo depurado recebe uma segunda chance para tratar a exceção.

  6. Se o programa que está sendo depurado não tem nenhum manipulador de exceção de uma segunda chance, o DE envia um IDebugExceptionEvent2 para o SDM como EVENT_SYNC_STOP.

  7. O pacote de depuração pergunta ao usuário como tratar a exceção, abrindo uma caixa de diálogo de exceções de primeira chance.

  8. As chamadas de pacote de depuração IDebugExceptionEvent2::CanPassToDebuggee para determinar as opções para apresentar ao usuário.

  9. O pacote de depuração pergunta ao usuário como tratar a exceção, abrindo uma caixa de diálogo de exceção de segunda chance.

  10. Se o método retorna S_OK, chama IDebugExceptionEvent2::PassToDebuggee.

Consulte também

Conceitos

Chamar o depurador eventos