Partilhar via


IDiaFrameData::get_program

Recupera a cadeia de caracteres do programa usada para calcular o conjunto de registros antes da chamada para a função atual.

Sintaxe

HRESULT get_program ( 
   BSTR* pRetVal
);

Parâmetros

pRetVal

[out] Retorna a cadeia de caracteres do programa.

Valor Retornado

Se for bem-sucedido, retornará S_OK. Retornará S_FALSE se não houver suporte para essa propriedade. Caso contrário, retornará um código de erro.

Comentários

A cadeia de caracteres do programa é uma sequência de macros que é interpretada para estabelecer o prólogo. Por exemplo, um quadro de pilha típico pode usar a cadeia de caracteres do programa "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =". O formato é notação polonesa reversa, em que os operadores seguem os operandos. T0 representa uma variável temporária na pilha. Este exemplo executa as seguintes etapas:

  1. Mova o conteúdo do registro ebp para T0.

  2. Adicione 4 ao valor em T0 para produzir um endereço, obter o valor desse endereço e armazenar o valor no registro eip.

  3. Obtenha o valor do endereço armazenado em T0 e armazene esse valor no registro ebp.

  4. Adicione 8 ao valor em T0 e armazene esse valor no registro esp.

    Observe que a cadeia de caracteres do programa é específica para a CPU e para a convenção de chamada configurada para a função representada pelo quadro de pilha atual.

Confira também