IDebugAdvanced3::GetSymbolInformation 메서드(dbgeng.h)

GetSymbolInformation 메서드는 기호에 대한 지정된 정보를 반환합니다.

구문

HRESULT GetSymbolInformation(
  [in]            ULONG   Which,
  [in]            ULONG64 Arg64,
  [in]            ULONG   Arg32,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize,
  [out, optional] PSTR    StringBuffer,
  [in]            ULONG   StringBufferSize,
  [out, optional] PULONG  StringSize
);

매개 변수

[in] Which

반환할 정보 부분을 지정합니다. 다음 표의 값 중 하나를 사용할 수 있습니다.

반환되는 정보
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE 지정된 중단점에 대한 소스 코드 파일 이름 및 줄 번호를 반환합니다. 줄 번호는 버퍼 에 ULONG으로 반환됩니다. 파일 이름이 StringBuffer로 반환됩니다.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 지정된 모듈을 설명하는 IMAGEHLP_MODULEW64 구조를 반환합니다. 이 구조에 대한 자세한 내용은 디버그 도움말 라이브러리 설명서(dbghelp.chm)의 IMAGEHLP_MODULE64 항목을 참조하세요.

문자열이 반환되지 않으며 StringBuffer, StringBufferSizeStringSize 를 모두 0으로 설정해야 합니다.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE 메모리의 위치 및 PDB 태그 형식으로 지정된 기호의 유니코드 이름을 반환합니다. 이름은 Buffer로 반환됩니다. StringBuffer 는 사용되지 않습니다.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS 지정된 PDB 태그 형식을 사용하여 지정된 모듈의 기호에 대한 기호 이름 및 오프셋 목록을 반환합니다. 오프셋은 버퍼에 대한 ULONG 값의 배열로 반환됩니다. 이름은 StringBuffer에 대한 오프셋과 동일한 순서로 반환됩니다. 주석에는 여러 부분으로 구성된 이름이 있을 수 있으므로 일부 이름에는 포함된 0이 포함될 수 있습니다. 따라서 각 이름은 두 개의 null 문자로 종료됩니다.

[in] Arg64

64비트 인수를 지정합니다. 이 매개 변수의 값에 따라 다음과 같은 해석이 있습니다.

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

무시됩니다.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

설명이 요청되는 모듈의 기본 주소입니다.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

이름이 요청되는 기호의 대상 메모리에 있는 주소를 지정합니다.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

기호가 요청되는 모듈을 지정합니다. Arg64 는 모듈의 메모리 할당 내 위치입니다.

[in] Arg32

32비트 인수를 지정합니다. 이 매개 변수의 값에 따라 다음과 같은 해석이 있습니다.

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

원하는 중단점의 엔진 중단점 ID입니다.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

0으로 설정됩니다.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

기호의 PDB 분류입니다. Arg32 는 Dbghelp.h에 정의된 SymTagEnum 열거형의 값 중 하나여야 합니다. 자세한 내용은 PDB 설명서를 참조하세요.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

기호의 PDB 분류입니다. Arg32 는 Dbghelp.h에 정의된 SymTagEnum 열거형의 값 중 하나여야 합니다. 자세한 내용은 PDB 설명서를 참조하세요.

[out, optional] Buffer

요청된 기호 정보를 받습니다. 반환되는 데이터의 형식은 에 따라 달라집니다. BufferNULL이면 이 정보가 반환되지 않습니다.

[in] BufferSize

퍼 버퍼의 크기(바이트)를 지정합니다.

[out, optional] InfoSize

이 메서드가 S_OK 반환하면 InfoSizeBuffer에 반환된 기호 정보의 크기(바이트)를 받습니다. 이 메서드가 S_FALSE 반환하는 경우 제공된 버퍼는 충분히 크지 않으며 InfoSize 는 필요한 버퍼 크기를 받습니다. InfoSizeNULL이면 이 정보가 반환되지 않습니다.

[out, optional] StringBuffer

요청된 문자열을 받습니다. 이 문자열의 해석은 에 따라 달라집니다. StringBufferNULL이면 이 정보가 반환되지 않습니다.

[in] StringBufferSize

문자열 버퍼 StringBuffer의 크기를 문자 단위로 지정합니다.

[out, optional] StringSize

StringBuffer에 반환된 문자열의 크기를 문자 단위로 받습니다. StringSizeNULL이면 이 정보가 반환되지 않습니다.

반환 값

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.
S_FALSE
메서드를 성공적으로 수행했습니다. 그러나 정보가 버퍼 버퍼 에 맞지 않거나 문자열이 버퍼 StringBuffer에 맞지 않으므로 정보 또는 이름이 잘렸습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)