Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Fornece métodos para permitir que o depurador execute código dentro do contexto do código que está sendo depurado.
Methods
| Método | Description |
|---|---|
| Método Abort | Anula o cálculo que este ICorDebugEval objeto está executando no momento. |
| Método CallFunction | Configura uma chamada para a função especificada. (Obsoleto; use ICorDebugEval2::CallParameterizedFunction em vez disso.) |
| Método CreateValue | Obtém um ponteiro de interface para um objeto "ICorDebugValue" do tipo especificado, com um valor inicial de zero ou null. (Obsoleto; use ICorDebugEval2::CreateValueForType em vez disso.) |
| Método GetResult | Obtém um ponteiro de interface para um ICorDebugValue que contém os resultados da avaliação. |
| Método GetThread | Obtém um ponteiro de interface para o "ICorDebugThread" onde esta avaliação está sendo executada ou será executada. |
| Método IsActive | Obtém um valor que indica se esse ICorDebugEval objeto está em execução no momento. |
| Método NewArray | Aloca uma nova matriz do tipo de elemento especificado e dimensões. (Obsoleto; use ICorDebugEval2::NewParameterizedArray em vez disso.) |
| Método NewObject | Aloca uma nova instância de objeto e chama o método de construtor especificado. (Obsoleto; use ICorDebugEval2::NewParameterizedObject em vez disso.) |
| Método NewObjectNoConstructor | Aloca uma nova instância de objeto do tipo especificado, sem tentar chamar um método de construtor. (Obsoleto; use ICorDebugEval2::NewParameterizedObjectNoConstructor em vez disso.) |
| Método NewString | Aloca um novo objeto string com o conteúdo especificado. |
Observações
Um ICorDebugEval objeto é criado no contexto de um thread específico que é usado para executar as avaliações. Todos os objetos e tipos usados em uma determinada avaliação devem residir dentro do mesmo domínio de aplicativo. Esse domínio de aplicativo não precisa ser o mesmo que o domínio de aplicativo atual do thread. As avaliações podem ser aninhadas.
As operações da avaliação não são concluídas até que o depurador chame ICorDebugController::Continue e, em seguida, receba um retorno de chamada ICorDebugManagedCallback::EvalComplete . Se você precisar usar a funcionalidade de avaliação sem permitir que outros threads sejam executados, suspenda os threads usando ICorDebugController::SetAllThreadsDebugState ou ICorDebugController::Stop antes de chamar ICorDebugController::Continue.
Como o código do usuário está sendo executado quando a avaliação está em andamento, qualquer evento de depuração pode ocorrer, incluindo cargas de classe e pontos de interrupção. O depurador receberá retornos de chamada, normalmente, para esses eventos. O estado da avaliação será visto como parte da inspeção do estado normal do programa. A cadeia de pilha será uma CHAIN_FUNC_EVAL cadeia (consulte a enumeração "CorDebugStepReason" e o método ICorDebugChain::GetReason ). A API do depurador completo continuará a operar normalmente.
Se surgir uma situação de bloqueio ou looping infinito, o código do usuário pode nunca ser concluído. Nesse caso, você deve chamar ICorDebugEval::Abort antes de retomar o programa.
Observação
Esta interface não suporta ser chamada remotamente, seja entre máquinas ou entre processos.
Requerimentos
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versões .NET: Disponível desde o .NET Framework 1.0