WdbgExts 기호
이 항목에서는 WdbgExts API를 사용하여 기호를 조작하는 방법에 대한 간략한 개요를 제공합니다. 디버거 엔진에서 기호를 사용하는 방법에 대한 개요는 이 설명서의 디버거 엔진 개요 섹션에 있는 기호를 참조하세요.
MASM 또는 C++ 식을 평가하려면 GetExpression 또는 GetExpressionEx 함수를 사용합니다.
구조체에서 멤버의 값을 읽으려면 GetFieldData 함수를 사용하거나 멤버에 기본 값이 포함된 경우 GetFieldValue 를 사용할 수 있습니다. 대상의 메모리에 있는 기호 인스턴스의 크기를 확인하려면 GetTypeSize 함수를 사용합니다.
구조체에서 멤버의 오프셋을 찾으려면 GetFieldOffset 함수를 사용합니다.
구조체에서 여러 멤버를 읽으려면 먼저 InitTypeRead 함수를 사용하여 구조를 초기화합니다. 그런 다음 ReadField 함수를 사용하여 한 번에 하나씩 크기가 8바이트보다 작거나 같은 멤버를 읽을 수 있습니다. 실제 메모리의 구조 주소의 경우 InitTypeRead 대신 InitTypeReadPhysical 함수를 사용합니다.
연결된 목록을 반복하는 데 사용할 수 있는 두 가지 함수가 있습니다. LIST_ENTRY32 또는 LIST_ENTRY64 구조를 사용하는 이중 연결 목록의 경우 ReadListEntry 함수를 사용하여 다음 및 이전 항목을 찾을 수 있습니다. ListType 함수는 연결된 목록의 모든 항목을 반복하고 각 항목에 대한 콜백 함수를 호출합니다.
대상 메모리의 지정된 주소 근처에 있는 기호를 찾으려면 GetSymbol 함수를 사용합니다.
디버거 엔진의 캐시에서 모든 기호 정보를 삭제하려면 ReloadSymbols 함수를 사용합니다. 기호 파일을 검색하는 데 사용되는 기호 경로를 읽거나 변경하려면 GetSetSympath 함수를 사용합니다.
디버거 엔진에서 제공하는 거의 모든 기호 작업은 Ioctl 작업 IG_DUMP_SYMBOL_INFO 사용하여 실행할 수 있습니다. 그러나 매우 유연한 함수이지만 고급이며, 해당하는 경우 위의 간단한 함수를 사용하는 것이 좋습니다.
추가 정보
더 강력한 기호 API는 이 설명서의 디버거 엔진 API 사용 섹션에서 기호 사용을 참조하세요.