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, StringBufferSize 및 StringSize 를 모두 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
요청된 기호 정보를 받습니다. 반환되는 데이터의 형식은 값에 따라 달라집니다. Buffer가 NULL이면 이 정보가 반환되지 않습니다.
[in] BufferSize
버 퍼 버퍼의 크기(바이트)를 지정합니다.
[out, optional] InfoSize
이 메서드가 S_OK 반환하면 InfoSize 는 Buffer에 반환된 기호 정보의 크기(바이트)를 받습니다. 이 메서드가 S_FALSE 반환하는 경우 제공된 버퍼는 충분히 크지 않으며 InfoSize 는 필요한 버퍼 크기를 받습니다. InfoSize가 NULL이면 이 정보가 반환되지 않습니다.
[out, optional] StringBuffer
요청된 문자열을 받습니다. 이 문자열의 해석은 값에 따라 달라집니다. StringBuffer가 NULL이면 이 정보가 반환되지 않습니다.
[in] StringBufferSize
문자열 버퍼 StringBuffer의 크기를 문자 단위로 지정합니다.
[out, optional] StringSize
StringBuffer에 반환된 문자열의 크기를 문자 단위로 받습니다. StringSize가 NULL이면 이 정보가 반환되지 않습니다.
반환 값
이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .
반환 코드 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
|
메서드를 성공적으로 수행했습니다. 그러나 정보가 버퍼 버퍼 에 맞지 않거나 문자열이 버퍼 StringBuffer에 맞지 않으므로 정보 또는 이름이 잘렸습니다. |
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |