SYMBOL_INFO 구조체(dbghelp.h)
기호 정보를 포함합니다.
구문
typedef struct _SYMBOL_INFO {
ULONG SizeOfStruct;
ULONG TypeIndex;
ULONG64 Reserved[2];
ULONG Index;
ULONG Size;
ULONG64 ModBase;
ULONG Flags;
ULONG64 Value;
ULONG64 Address;
ULONG Register;
ULONG Scope;
ULONG Tag;
ULONG NameLen;
ULONG MaxNameLen;
CHAR Name[1];
} SYMBOL_INFO, *PSYMBOL_INFO;
멤버
SizeOfStruct
구조체의 크기(바이트)입니다. 이 멤버는 로 sizeof(SYMBOL_INFO)
설정해야 합니다. 데이터의 총 크기는 입니다 SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
. 하나를 빼는 이유는 이름의 첫 번째 문자가 구조체의 크기로 고려되기 때문입니다.
TypeIndex
기호를 설명하는 형식 데이터를 식별하는 고유 값입니다. 이 값은 세션 간에 유지되지 않습니다.
Reserved[2]
이 멤버는 시스템 사용을 위해 예약되어 있습니다.
Index
기호의 고유 값입니다. 기호와 연결된 값은 프로세스를 실행할 때마다 동일하지 않습니다.
PDB 기호의 경우 기호가 이름 또는 주소별로 검색을 통해 열거되거나 검색될 때까지 기호의 인덱스 값이 생성되지 않습니다. 모든 CodeView 및 COFF 기호의 인덱스 값은 기호가 로드될 때 생성됩니다.
Size
기호 크기(바이트 또는 기호가 비트 필드 멤버인 경우 비트)입니다.
이 값은 모듈 기호가 pdb 파일에서 온 경우에만 의미가 있습니다. 그렇지 않으면 이 값은 일반적으로 0이며 무시해야 합니다.
ModBase
기호를 포함하는 모듈의 기본 주소입니다.
Flags
이 멤버는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
기호는 CLR 토큰입니다. |
|
기호는 상수입니다. |
|
기호는 내보내기 테이블의 기호입니다. |
|
기호는 전달자입니다. |
|
오프셋은 프레임 상대입니다. |
|
기호는 알려진 함수입니다. |
|
기호 주소는 중간 언어 블록의 시작 부분을 기준으로 하는 오프셋입니다. 관리 코드에만 적용됩니다. |
|
기호는 지역 변수입니다. |
|
기호는 관리되는 메타데이터입니다. |
|
기호는 매개 변수입니다. |
|
기호는 레지스터입니다. Register 멤버가 사용됩니다. |
|
오프셋은 레지스터 상대입니다. |
|
기호는 관리 코드 슬롯입니다. |
|
기호는 썽크입니다. |
|
기호는 TLS 데이터 영역에 대한 오프셋입니다. |
|
Value 멤버가 사용됩니다. |
|
기호는 SymAddSymbol 함수에서 만든 가상 기호입니다. |
Value
상수의 값입니다.
Address
기호 시작의 가상 주소입니다.
Register
레지스터입니다.
Scope
DIA scope. 자세한 내용은 Visual Studio 설명서의 디버그 인터페이스 액세스 SDK 를 참조하세요. (이 리소스는 일부 언어에서 사용할 수 없을 수 있습니다.
및 국가)를 선택합니다.
Tag
PDB 분류입니다. 이러한 값은 SymTagEnum 열거형 형식의 Dbghelp.h에 정의됩니다.
NameLen
null 종료 문자를 포함하지 않는 이름의 길이(문자)입니다.
MaxNameLen
이름 버퍼의 크기(문자)입니다. 이 멤버가 0이면 Name 멤버가 사용되지 않습니다.
Name[1]
기호 이름입니다. SYMOPT_UNDNAME 옵션을 SymSetOptions 함수와 함께 사용하는 경우 이름을 해독할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbghelp.h |
재배포 가능 파일 | DbgHelp.dll 5.1 이상 |