共用方式為


IDebugModule3::GetSymbolInfo

擷取搜尋符號的路徑清單,以及搜尋每個路徑的結果。

語法

int GetSymbolInfo(
    enum_SYMBOL_SEARCH_INFO_FIELDS dwFields,
    MODULE_SYMBOL_SEARCH_INFO[]    pinfo
);

參數

dwFields
[in]SYMBOL_SEARCH_INFO_FIELDS 列舉中的旗標組合,指定要填入的欄位pInfo

pInfo
[out] MODULE_SYMBOL_SEARCH_INFO 結構,其成員要填入指定的資訊。 如果這是 Null 值,這個方法會傳 E_INVALIDARG回 。

傳回值

如果方法成功,則會傳 S_OK回 ,否則會傳回錯誤碼。

注意

即使S_OK傳回,傳回的字串(在結構中)也可能是空的MODULE_SYMBOL_SEARCH_INFO。 在此情況下,沒有可傳回的搜尋資訊。

備註

如果結構的 bstrVerboseSearchInfo 欄位不是空的 MODULE_SYMBOL_SEARCH_INFO ,則會包含搜尋的路徑清單以及該搜尋的結果。 清單會以路徑格式化,後面接著省略號 (“...”),後面接著結果。 如果有一個以上的路徑結果組,則每個配對都會以 “\r\n” (歸位字元/換行符) 配對分隔。 模式看起來像這樣:

<path>...<result>\r\n<path>...<result>\r\n<path>...<結果>

請注意,最後一個項目沒有 \r\n 序列。

範例

在此範例中,此方法會傳回三個具有三個不同搜尋結果的路徑。 每一行都會以歸位字元/換行符來終止。 此範例輸出只會將搜尋結果列印為單一字串。

注意

狀態結果是緊接在 “...” 之後的所有專案最多到行尾。

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...找不到檔案。c:\winnt\symbols\user32.pdb...版本不相符。\\symbols\symbols\user32.dll\0a8sd0ad8ad\user32.pdb...已載入符號。

另請參閱