Compartilhar via


Interface de ICorDebugEval

Fornece métodos para habilitar o depurador executar o código dentro do contexto do código que está sendo depurado.

Métodos

Método

Descrição

Método de ICorDebugEval::Abort

Anula a computação isso ICorDebugEval objeto está executando no momento.

Método de ICorDebugEval::CallFunction

Configura uma chamada para a função especificada. (Obsoleta na.NET Framework versão 2.0; Use ICorDebugEval2::CallParameterizedFunction em vez disso.)

Método de ICorDebugEval::CreateValue

Obtém um ponteiro de interface para um Interface de ICorDebugValue o objeto do tipo especificado, com um valor inicial de zero ou nulo. (Obsoleta na.NET Framework 2.0; Use ICorDebugEval2::CreateValueForType em vez disso.)

Método de ICorDebugEval::GetResult

Obtém um ponteiro de interface para um ICorDebugValue que contém os resultados da avaliação.

Método de ICorDebugEval::GetThread

Obtém um ponteiro de interface para o ICorDebugThread onde essa avaliação está em execução ou será executado.

Método de ICorDebugEval::IsActive

Obtém um valor que indica se este ICorDebugEval objeto está sendo executado.

Método de ICorDebugEval::NewArray

Aloca uma nova matriz do tipo do elemento especificado e dimensões. (Obsoleta na.NET Framework 2.0; Use ICorDebugEval2::NewParameterizedArray em vez disso.)

Método de ICorDebugEval::NewObject

Aloca uma nova instância do objeto e chama o método construtor especificado. (Obsoleta na.NET Framework 2.0; Use ICorDebugEval2::NewParameterizedObject em vez disso.)

Método de ICorDebugEval::NewObjectNoConstructor

Aloca uma nova instância de objeto do tipo especificado, sem tentar chamar um método de construtor. (Obsoleta na.NET Framework 2.0; Use ICorDebugEval2::NewParameterizedObjectNoConstructor em vez disso.)

Método de ICorDebugEval::NewString

Aloca um novo objeto de seqüência de caracteres com o conteúdo especificado.

Comentários

Um ICorDebugEval objeto é criado no contexto de um segmento específico, que é usado para executar avaliações. Todos os objetos e tipos usados em uma determinada avaliação devem residir dentro do mesmo domínio do aplicativo. O domínio do aplicativo não precisa ser o mesmo domínio do aplicativo atual do segmento. Avaliações podem ser aninhadas.

Operações da avaliação não concluída até que as chamadas do depurador ICorDebugController::Continuee em seguida, recebe um ICorDebugManagedCallback::EvalComplete retorno de chamada. Se você precisar usar a funcionalidade de avaliação sem permitir que outros threads executar, suspender os threads usando um ICorDebugController::SetAllThreadsDebugState ou ICorDebugController::Stop antes de chamar ICorDebugController::Continue.

Porque o código de usuário está em execução quando a avaliação está em andamento, pode ocorrer qualquer evento de depuração, inclusive cargas de classe e pontos de interrupção. O depurador irá receber retornos de chamada, como normal, para esses eventos. O estado da avaliação será visto como parte de inspeção do estado normal do programa. A cadeia da pilha será um CHAIN_FUNC_EVAL cadeia (consulte a CorDebugStepReason enumeração e o ICorDebugChain::GetReason método). A API do depurador completo continuará a operar normalmente.

Se surgir em uma situação de loop infinita ou de deadlock, o código do usuário nunca pode ser concluída. Nesse caso, você deve chamar ICorDebugEval::Abort antes de continuar o programa.

Observação

Esta interface não dá suporte a que está sendo chamado remotamente, entre computadores ou entre processos.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Referência

Interface de ICorDebugEval2

Interface de ICorDebugThread

Interface de ICorDebugValue

Outros recursos

Interfaces de depuração.