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 |
---|---|
Anula a computação isso ICorDebugEval objeto está executando no momento. |
|
Configura uma chamada para a função especificada. (Obsoleta na.NET Framework versão 2.0; Use ICorDebugEval2::CallParameterizedFunction em vez disso.) |
|
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.) |
|
Obtém um ponteiro de interface para um ICorDebugValue que contém os resultados da avaliação. |
|
Obtém um ponteiro de interface para o ICorDebugThread onde essa avaliação está em execução ou será executado. |
|
Obtém um valor que indica se este ICorDebugEval objeto está sendo executado. |
|
Aloca uma nova matriz do tipo do elemento especificado e dimensões. (Obsoleta na.NET Framework 2.0; Use ICorDebugEval2::NewParameterizedArray em vez disso.) |
|
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.) |
|
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.) |
|
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