Функция SymSetOptions (dbghelp.h)
Задает маску параметров.
Синтаксис
DWORD IMAGEAPI SymSetOptions(
[in] DWORD SymOptions
);
Параметры
[in] SymOptions
Параметры символов. Ноль является допустимым значением и указывает, что все параметры отключены. Значения параметров объединяются с помощью оператора OR для формирования допустимого значения параметров. Допустимы следующие значения.
Значение | Значение |
---|---|
|
Позволяет использовать символы, которые хранятся с абсолютными адресами. Большинство символов хранятся в виде RVA из базы модуля. DbgHelp преобразует их в абсолютные адреса. Существуют символы, которые хранятся в виде абсолютного адреса. Они имеют очень специализированные цели и, как правило, не используются.
DbgHelp 5.1 и более ранних версий: Это значение не поддерживается. |
|
Позволяет использовать символы без адреса. По умолчанию DbgHelp отфильтровывает символы, у которых нет адреса. |
|
Не ищите открытые символы при поиске символов по адресу или при перечислении символов, если только они не были найдены в глобальных символах или в текущем область. Этот параметр не влияет на SYMOPT_PUBLICS_ONLY.
DbgHelp 5.1 и более ранних версий: Это значение не поддерживается. |
|
Все поиски символов не учитывают регистр. |
|
Передайте выходные данные отладки через OutputDebugString или функцию обратного вызова SymRegisterCallbackProc64 . |
|
Символы не загружаются до тех пор, пока не будет сделана ссылка, требующая загрузки символов. Это самый быстрый и эффективный способ использования обработчика символов. |
|
Отключает автоматическое обнаружение хранилищ на сервере символов в пути к символам даже без обозначения SRV*, обеспечивая совместимость с предыдущим поведением.
DbgHelp 6.6 и более ранних версий: Это значение не поддерживается. |
|
Не загружайте несоответвленный PDB-файл. Не загружайте символы экспорта, если все остальные не удается. |
|
Не отображайте системные диалоговые окна, если произошел сбой мультимедиа, например отсутствие носителя на диске. Вместо этого сбой происходит без уведомления. |
|
Если доступен как несжатый, так и сжатый файл, следует использовать сжатый файл. Этот параметр подходит для медленных подключений. |
|
Символы хранятся в корневом каталоге нижестоящего хранилища по умолчанию.
DbgHelp 6.1 и более ранних версий: Это значение не поддерживается. |
|
Игнорируйте сведения о пути в записи CodeView заголовка изображения при загрузке PDB-файла. |
|
Игнорируйте каталог образа.
DbgHelp 6.1 и более ранних версий: Это значение не поддерживается. |
|
Не используйте путь, указанный _NT_SYMBOL_PATH если пользователь вызывает SymSetSearchPath без допустимого пути.
DbgHelp 5.1: Это значение не поддерживается. |
|
При отладке в 64-разрядной версии Windows включите все 32-разрядные модули. |
|
Отключите проверки, чтобы убедиться, что файл (.exe, .dbg., или PDB) является правильным. Вместо этого загрузите первый файл. |
|
Загружает сведения о номерах строк. |
|
Все символы C++, содержащие разделитель символов "::", заменяются на "__". Этот параметр существует для отладчиков, которые не могут обрабатывать синтаксический анализ имен реальных символов C++. |
|
Не ищите путь к символам на изображении при загрузке символов для модуля, если заголовок модуля не может быть прочитан.
DbgHelp 5.1: Это значение не поддерживается. |
|
Предотвращает запрос на проверку с сервера символов. |
|
Не ищите символы в общедоступной таблице. Этот параметр не должен иметь никакого эффекта, так как в глобальной таблице есть копии открытых символов.
DbgHelp 5.1: Это значение не поддерживается. |
|
Предотвращает загрузку символов, когда вызывающий объект проверяет символы в нескольких модулях. Изучите только модуль, символы которого уже загружены. |
|
Перезаписать хранилище нижнего уровня из хранилища символов.
DbgHelp 6.1 и более ранних версий: Это значение не поддерживается. |
|
Не используйте частные символы. Версия DbgHelp, поставляемая с более ранним выпуском Windows, поддерживала только открытые символы; Этот параметр обеспечивает совместимость с этим ограничением.
DbgHelp 5.1: Это значение не поддерживается. |
|
DbgHelp не загружает сервер символов, отличный от SymSrv. SymSrv не будет использовать подчиненное хранилище, указанное в _NT_SYMBOL_PATH. После установки этого флага он не может быть снят.
DbgHelp 6.0 и 6.1: Этот флаг можно снять. DbgHelp 5.1: Это значение не поддерживается. |
|
Все символы представлены в некоаном виде.
Этот параметр не влияет на глобальные или локальные символы, так как они хранятся без изменения структуры. Этот параметр применяется только к открытым символам. |
Возвращаемое значение
Функция возвращает текущую маску параметров.
Комментарии
Значение параметров можно изменять любое количество раз, пока библиотека используется приложением. Изменение параметра влияет на все будущие вызовы обработчика символов.
Чтобы получить текущую маску параметров, вызовите функцию SymGetOptions .
Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Примеры
Пример см. в разделе Инициализация обработчика символов.
Требования
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |