Bagikan melalui


IDebugModule3::GetSymbolInfo

Mengambil daftar jalur yang dicari untuk simbol serta hasil pencarian setiap jalur.

Sintaks

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

Parameter

dwFields
[di] Kombinasi bendera dari enumerasi SYMBOL_SEARCH_INFO_FIELDS yang menentukan bidang pInfo mana yang akan diisi.

pInfo
[out] Struktur MODULE_SYMBOL_SEARCH_INFO yang anggotanya akan diisi dengan informasi yang ditentukan. Jika ini adalah nilai null, metode ini mengembalikan E_INVALIDARG.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK; jika tidak, metode akan mengembalikan kode kesalahan.

Catatan

String yang MODULE_SYMBOL_SEARCH_INFO dikembalikan (dalam struktur) bisa kosong meskipun S_OK dikembalikan. Dalam hal ini, tidak ada informasi pencarian untuk dikembalikan.

Keterangan

bstrVerboseSearchInfo Jika bidang MODULE_SYMBOL_SEARCH_INFO struktur tidak kosong, maka bidang berisi daftar jalur yang dicari dan hasil pencarian tersebut. Daftar diformat dengan jalur, diikuti dengan elipsis ("..."), diikuti dengan hasilnya. Jika ada lebih dari satu pasangan hasil jalur, maka setiap pasangan dipisahkan oleh pasangan "\r\n" (carriage-return/linefeed). Polanya terlihat seperti ini:

<jalur>...<jalur> result>\r\n<...<jalur> result>\r\n<...<Hasil>

Perhatikan bahwa entri terakhir tidak memiliki urutan \r\n.

Contoh

Dalam contoh ini, metode ini mengembalikan tiga jalur dengan tiga hasil pencarian yang berbeda. Setiap baris dihentikan dengan pasangan carriage-return/linefeed. Contoh output hanya mencetak hasil pencarian sebagai string tunggal.

Catatan

Hasil status adalah semuanya segera mengikuti "..." hingga akhir baris.

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 tidak ditemukan.c:\winnt\symbols\user32.pdb... Versi tidak cocok.\\symbols\symbols\user32.dll\0a8sd0ad8ad\user32.pdb... Simbol dimuat.

Baca juga