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.
As expressões são criadas a partir de cadeias de caracteres transmitidas das 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 num ponto de paragem. A expressão em si é representada por uma interface IDebugExpression2 , que representa uma expressão analisada que está pronta para ligação e avaliação dentro do contexto de avaliação de expressão dada. O frame de stack determina o contexto de avaliação da expressão, que o mecanismo de depuração (DE) fornece ao implementar a interface IDebugExpressionContext2.
Dada uma cadeia de caracteres de usuário e uma interface IDebugExpressionContext2 , um mecanismo de depuração (DE) pode obter uma interface IDebugExpression2 passando a cadeia de caracteres de usuário para o método IDebugExpressionContext2::P arseText . 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 de 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 ao 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 requer a implementação do método IDebugProperty2::GetPropertyInfo .