Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As expressões são criadas a partir de cadeias de caracteres que são passadas pelas janelas Autos, Watch, QuickWatch ou Immediate. Quando uma expressão é avaliada, ela gera uma cadeia de caracteres imprimível que contém o nome e o tipo de variável ou argumento e seu valor. Essa cadeia de caracteres é exibida na janela IDE correspondente.
Implementation
As expressões são avaliadas quando um programa é interrompido em um ponto de parada. A expressão em si é representada por uma interface IDebugExpression2 , que representa uma expressão analisada pronta para associação e avaliação dentro do contexto de avaliação de expressão fornecido. A estrutura de pilha determina o contexto de avaliação de expressão, que o mecanismo de depuração (DE) fornece ao implementar a interface IDebugExpressionContext2.
Considerando uma string de usuário e uma interface IDebugExpressionContext2, um DE (mecanismo de depuração) pode obter uma interface IDebugExpression2 passando a string do usuário para o método IDebugExpressionContext2::ParseText. A interface IDebugExpression2 retornada contém a expressão analisada pronta para avaliação.
Com a IDebugExpression2 interface, o DE pode obter o valor da expressão por meio da avaliação de expressão síncrona ou assíncrona, usando IDebugExpression2::EvaluateSync ou IDebugExpression2::EvaluateAsync. Esse valor, juntamente com o nome e o tipo da variável ou argumento, é enviado para o IDE para exibição. O valor, o nome e o tipo são representados por uma interface IDebugProperty2 .
Para habilitar a avaliação de expressão, um DE deve implementar as interfaces IDebugExpression2 e IDebugExpressionContext2 . A avaliação síncrona e assíncrona exige a implementação do método IDebugProperty2::GetPropertyInfo .