Compartilhar via


Alterar o valor de um local

Importante

No Visual Studio 2015, essa maneira de implementar avaliadores de expressão foi preterida. Para obter informações sobre como implementar avaliadores de expressão CLR, confira Avaliadores de expressão CLR e Exemplo de avaliador de expressão gerenciado.

Quando um novo valor é digitado no campo de valor da janela Locais, o pacote de depuração passa a sequência, conforme digitado, para o avaliador de expressão (EE). O EE avalia essa sequência, que pode conter um valor simples ou uma expressão, e armazena o valor resultante no local associado.

Esta é uma visão geral do processo de alteração do valor de um local:

  1. Depois que o usuário insere o novo valor, o Visual Studio chama SetValueAsString no objeto IDebugProperty2 associado ao local.

  2. IDebugProperty2::SetValueAsString realiza as seguintes tarefas:

    1. Avalia a sequência para produzir um valor.

    2. Vincula o objeto IDebugField associado para obter um objeto IDebugObject.

    3. Converte o valor em uma série de bytes.

    4. Chama SetValue para colocar os bytes do valor na memória para que o programa que está sendo depurado possa acessá-los.

  3. O Visual Studio atualiza a exibição de Locais (confira Exibir locais para obter detalhes).

    Esse procedimento também é usado para alterar o valor de uma variável na janela Inspeção, exceto que é o objeto IDebugProperty2 associado ao valor do local usado em vez do objeto IDebugProperty2 associado ao próprio local.

Nesta seção

A implementação de amostra de alteração de valores usa a amostra MyCEE para percorrer o processo de alteração de valores.