Символы WdbgExts
В этом разделе представлен краткий обзор того, как можно управлять символами с помощью API WdbgExts. Общие сведения об использовании символов в подсистеме отладчика см. в разделе Символы в разделе Общие сведения о обработчике отладчика этой документации.
Чтобы оценить выражение MASM или C++, используйте функции GetExpression или GetExpressionEx.
Чтобы считывать значение элемента в структуре, используйте функцию GetFieldData или, если элемент содержит примитивное значение, можно использовать GetFieldValue . Чтобы определить размер экземпляра символа в памяти целевого объекта, используйте функцию GetTypeSize .
Чтобы найти смещение элемента в структуре, используйте функцию GetFieldOffset .
Чтобы считывать несколько элементов в структуре, сначала используйте функцию InitTypeRead для инициализации структуры. Затем можно использовать функцию ReadField для считывания элементов размером менее 8 байтов по одному за раз. Для адресов структуры в физической памяти используйте функцию InitTypeReadPhysical вместо InitTypeRead.
Существует две функции, которые можно использовать для перебора связанных списков. Для списков с двойной связью, использующих структуры LIST_ENTRY32 или LIST_ENTRY64, функцию ReadListEntry можно использовать для поиска следующей и предыдущей записей. Функция ListType выполняет итерацию по всем записям в связанном списке и вызывает функцию обратного вызова для каждой записи.
Чтобы найти символ рядом с указанным адресом в памяти целевого объекта, используйте функцию GetSymbol .
Чтобы удалить все сведения о символах из кэша подсистемы отладчика, используйте функцию ReloadSymbols . Чтобы прочитать или изменить путь к символам, используемый для поиска файлов символов, используйте функцию GetSetSympath .
Почти все операции с символами, предоставляемые подсистемой отладчика, можно выполнять с помощью операции IoctlIG_DUMP_SYMBOL_INFO. Тем не менее, будучи очень гибкой функцией, она является расширенной, и мы рекомендуем использовать указанные выше простые функции, где это возможно.
Дополнительные сведения
Более эффективный API символов см. в разделе Использование символов в разделе Использование API обработчика отладчика этой документации.