Partilhar via


IDebugModule3::GetSymbolInfo

Recupera uma lista de caminhos que são pesquisados para símbolos, como também os resultados da pesquisa a cada caminho.

HRESULT GetSymbolInfo(
   SYMBOL_SEARCH_INFO_FIELDS  dwFields,
   MODULE_SYMBOL_SEARCH_INFO* pInfo
);
int GetSymbolInfo(
   enum_SYMBOL_SEARCH_INFO_FIELDS dwFields, 
   MODULE_SYMBOL_SEARCH_INFO[]    pinfo
);

Parâmetros

  • dwFields
    [in] Uma combinação de sinalizadores da SYMBOL_SEARCH_INFO_FIELDS enumeração que especifica quais campos de pInfo está a ser preenchido.

  • pInfo
    [out] A MODULE_SYMBOL_SEARCH_INFO estrutura cujos membros são para ser preenchido com as informações especificadas. Se isso for um valor nulo, esse método retorna E_INVALIDARG.

Valor de retorno

Se o método for bem-sucedido, ele retorna S_OK; Caso contrário, ele retorna um código de erro.

Dica

A seqüência de caracteres retornada (na MODULE_SYMBOL_SEARCH_INFO estrutura) pode estar vazio mesmo que S_OK é retornado.Nesse caso, não havia nenhuma informação de pesquisa para retornar.

Comentários

Se a bstrVerboseSearchInfo campo do MODULE_SYMBOL_SEARCH_INFO estrutura não está vazia, em seguida, ele contém uma lista de caminhos pesquisados e os resultados da pesquisa. A lista está formatada com um caminho, seguido de reticências ("..."), seguidas pelo resultado. Se houver mais de um par de resultado de caminho, cada par é separado por um par de "\r\n" (carro-retorno/alimentação de linha). O padrão é semelhante a:

<path>... <result> do <path>... <result> \r\n \r\n <path>... <result>

Observe que a última entrada não tem uma seqüência de \r\n.

Exemplo

Neste exemplo, esse método retorna três caminhos com três diferentes resultados. Cada linha é encerrada com um par de carro-retorno/alimentação de linha. A saída de exemplo apenas imprime os resultados da pesquisa como uma única seqüência.

Dica

Um resultado de status é tudo imediatamente após o "..." até o final da linha.

void ShowSymbolSearchResults(IDebugModule3 *pIDebugModule3)
{
    MODULE_SYMBOL_SEARCH_INFO ssi = { 0 };
    HRESULT hr;
    hr = pIDebugModule3->GetSymbolInfo(SSIF_VERBOSE_SEARCH_INFO,&ssi);
    if (SUCCEEDED(hr)) {
        CComBSTR searchInfo = ssi.bstrVerboseSearchInfo;
        if (searchInfo.Length() != 0) {
            std::wcout << (wchar_t *)(BSTR)searchInfo;
            std::wcout << std::endl;
        }
    }
}
                   

Consulte também

Referência

SYMBOL_SEARCH_INFO_FIELDS

MODULE_SYMBOL_SEARCH_INFO

IDebugModule3