IDebugModule3::GetSymbolInfo
Recupera un elenco di percorsi che vengono cercati per i simboli, nonché i risultati della ricerca in ogni percorso.
Sintassi
int GetSymbolInfo(
enum_SYMBOL_SEARCH_INFO_FIELDS dwFields,
MODULE_SYMBOL_SEARCH_INFO[] pinfo
);
Parametri
dwFields
[in] Combinazione di flag dell'enumerazione SYMBOL_edizione StandardARCH_INFO_FIELDS che specifica i campi di pInfo
da compilare.
pInfo
[out] Struttura MODULE_SYMBOL_edizione StandardARCH_INFO i cui membri devono essere compilati con le informazioni specificate. Se si tratta di un valore Null, questo metodo restituisce E_INVALIDARG
.
Valore restituito
Se il metodo ha esito positivo, restituisce S_OK
; in caso contrario, restituisce un codice di errore.
Nota
La stringa restituita (nella MODULE_SYMBOL_SEARCH_INFO
struttura) può essere vuota anche se S_OK
viene restituita. In questo caso, non sono state restituite informazioni di ricerca.
Osservazioni:
Se il bstrVerboseSearchInfo
campo della MODULE_SYMBOL_SEARCH_INFO
struttura non è vuoto, contiene un elenco di percorsi ricercati e i risultati di tale ricerca. L'elenco è formattato con un percorso, seguito dai puntini di sospensione ("..."), seguito dal risultato. Se sono presenti più coppie di risultati del percorso, ogni coppia è separata da una coppia "\r\n" (ritorno a capo/avanzamento riga). Il modello è simile al seguente:
<percorso>...<result>\r\n<path>...<result>\r\n<path>...<Risultato>
Si noti che l'ultima voce non ha una sequenza \r\n.
Esempio
In questo esempio questo metodo restituisce tre percorsi con tre risultati di ricerca diversi. Ogni riga viene terminata con una coppia ritorno a capo/avanzamento riga. L'output di esempio stampa solo i risultati della ricerca come singola stringa.
Nota
Un risultato di stato è tutto immediatamente dopo "..." fino alla fine della riga.
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;
}
}
}
c:\symbols\user32.pdb... File non trovato.c:\winnt\symbols\user32.pdb... La versione non corrisponde.\\symbols\symbols\user32.dll\0a8sd0ad8ad\user32.pdb... Simboli caricati.