다음을 통해 공유


IDebugModule3::GetSymbolInfo

기호를 검색할 경로 목록과 각 경로를 검색한 결과를 찾아옵니다.

구문

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

매개 변수

dwFields
[in] 채워질 pInfo 필드를 지정하는 SYMBOL_SEARCH_INFO_FIELDS 열거형의 플래그 조합입니다.

pInfo
[out] 지정된 정보로 멤버를 채울 MODULE_SYMBOL_SEARCH_INFO 구조체입니다. null 값이면 이 메서드는 E_INVALIDARG를 반환합니다.

Return Value

메서드가 성공하면 S_OK를 반환하고 그렇지 않으면 오류 코드를 반환합니다.

참고 항목

반환된 문자열(MODULE_SYMBOL_SEARCH_INFO 구조체)은 S_OK가 반환되더라도 비어 있을 수 있습니다. 이 경우 반환할 검색 정보가 없습니다.

설명

MODULE_SYMBOL_SEARCH_INFO 구조체의 bstrVerboseSearchInfo 필드가 비어 있지 않으면 검색된 경로 목록과 해당 검색 결과가 포함됩니다. 목록은 경로로 형식이 지정되고 그 뒤에 줄임표("...")가 나오고 그 다음, 결과가 표시됩니다. 둘 이상의 경로 결과 쌍이 있는 경우 각 쌍은 "\r\n"(캐리지 리턴/줄 바꿈) 쌍으로 구분됩니다. 패턴은 다음과 같습니다.

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

마지막 항목에는 \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... 기호가 로드되었습니다.

참고 항목