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... 기호가 로드되었습니다.