SymSetOptions-Funktion (dbghelp.h)
Legt die Optionsmaske fest.
Syntax
DWORD IMAGEAPI SymSetOptions(
[in] DWORD SymOptions
);
Parameter
[in] SymOptions
Die Symboloptionen. Null ist ein gültiger Wert und gibt an, dass alle Optionen deaktiviert sind. Die Optionswerte werden mit dem OR-Operator kombiniert, um einen gültigen Optionswert zu bilden. Die folgenden Werte sind gültig.
Wert | Bedeutung |
---|---|
|
Ermöglicht die Verwendung von Symbolen, die mit absoluten Adressen gespeichert werden. Die meisten Symbole werden als RVAs aus der Basis des Moduls gespeichert. DbgHelp übersetzt sie in absolute Adressen. Es gibt Symbole, die als absolute Adresse gespeichert werden. Diese haben sehr spezielle Zwecke und werden in der Regel nicht verwendet.
DbgHelp 5.1 und früher: Dieser Wert wird nicht unterstützt. |
|
Ermöglicht die Verwendung von Symbolen ohne Adresse. Standardmäßig filtert DbgHelp Symbole ohne Adresse heraus. |
|
Suchen Sie die öffentlichen Symbole nicht bei der Suche nach Symbolen nach Adresse oder beim Aufzählen von Symbolen, es sei denn, sie wurden nicht in den globalen Symbolen oder im aktuellen Bereich gefunden. Diese Option hat keine Auswirkungen auf SYMOPT_PUBLICS_ONLY.
DbgHelp 5.1 und früher: Dieser Wert wird nicht unterstützt. |
|
Bei allen Symbolsuchen wird die Groß-/Kleinschreibung nicht berücksichtigt. |
|
Übergeben Sie die Debugausgabe über OutputDebugString oder die Rückruffunktion SymRegisterCallbackProc64 . |
|
Symbole werden erst geladen, wenn ein Verweis erforderlich ist, der das Laden der Symbole erfordert. Dies ist die schnellste und effizienteste Möglichkeit, den Symbolhandler zu verwenden. |
|
Deaktiviert die automatische Erkennung von Symbolserverspeichern im Symbolpfad, auch ohne die Bezeichnung "SRV*", wobei die Kompatibilität mit dem vorherigen Verhalten beibehalten wird.
DbgHelp 6.6 und früher: Dieser Wert wird nicht unterstützt. |
|
Laden Sie keine nicht übereinstimmende PDB-Datei. Laden Sie keine Exportsymbole, wenn alles andere fehlschlägt. |
|
Zeigen Sie keine Systemdialogfelder an, wenn ein Medienfehler auftritt, z. B. keine Medien in einem Laufwerk. Stattdessen tritt der Fehler im Hintergrund auf. |
|
Wenn sowohl eine unkomprimierte als auch eine komprimierte Datei verfügbar ist, bevorzugen Sie die komprimierte Datei. Diese Option eignet sich für langsame Verbindungen. |
|
Symbole werden im Stammverzeichnis des Standardspeichers gespeichert.
DbgHelp 6.1 und früher: Dieser Wert wird nicht unterstützt. |
|
Ignorieren Sie beim Laden einer PDB-Datei Pfadinformationen im CodeView-Datensatz des Bildheaders. |
|
Ignorieren Sie das Imageverzeichnis.
DbgHelp 6.1 und früher: Dieser Wert wird nicht unterstützt. |
|
Verwenden Sie nicht den von _NT_SYMBOL_PATH angegebenen Pfad, wenn der Benutzer SymSetSearchPath ohne gültigen Pfad aufruft.
DbgHelp 5.1: Dieser Wert wird nicht unterstützt. |
|
Schließen Sie beim Debuggen unter 64-Bit-Windows alle 32-Bit-Module ein. |
|
Deaktivieren Sie Überprüfungen, um sicherzustellen, dass eine Datei (.exe, DBG oder PDB) die richtige Datei ist. Laden Sie stattdessen die erste Datei, die sich befindet. |
|
Lädt Zeilennummerninformationen. |
|
Alle C++-symbole, die das Symboltrennzeichen "::" enthalten, werden durch "__" ersetzt. Diese Option ist für Debugger vorhanden, die die Analyse von echten C++-Symbolnamen nicht verarbeiten können. |
|
Suchen Sie das Bild nicht nach dem Symbolpfad, wenn Sie die Symbole für ein Modul laden, wenn der Modulheader nicht gelesen werden kann.
DbgHelp 5.1: Dieser Wert wird nicht unterstützt. |
|
Verhindert die Aufforderung zur Überprüfung vom Symbolserver. |
|
Suchen Sie die publics-Tabelle nicht nach Symbolen. Diese Option sollte wenig Auswirkungen haben, da es Kopien der öffentlichen Symbole in der globals-Tabelle gibt.
DbgHelp 5.1: Dieser Wert wird nicht unterstützt. |
|
Verhindert, dass Symbole geladen werden, wenn der Aufrufer Symbole über mehrere Module hinweg untersucht. Untersuchen Sie nur das Modul, dessen Symbole bereits geladen wurden. |
|
Überschreiben Sie den Downlevelspeicher aus dem Symbolspeicher.
DbgHelp 6.1 und früher: Dieser Wert wird nicht unterstützt. |
|
Verwenden Sie keine privaten Symbole. Die Version von DbgHelp, die im Lieferumfang einer früheren Windows-Version enthalten war, unterstützte nur öffentliche Symbole. Diese Option bietet Kompatibilität mit dieser Einschränkung.
DbgHelp 5.1: Dieser Wert wird nicht unterstützt. |
|
DbgHelp lädt keinen anderen Symbolserver als SymSrv. SymSrv verwendet nicht den in _NT_SYMBOL_PATH angegebenen Downstreamspeicher. Nachdem dieses Flag festgelegt wurde, kann es nicht mehr gelöscht werden.
DbgHelp 6.0 und 6.1: Dieses Flag kann gelöscht werden. DbgHelp 5.1: Dieser Wert wird nicht unterstützt. |
|
Alle Symbole werden in nicht ergänzter Form dargestellt.
Diese Option hat keine Auswirkungen auf globale oder lokale Symbole, da sie nicht ausgewertet gespeichert werden. Diese Option gilt nur für öffentliche Symbole. |
Rückgabewert
Die Funktion gibt die aktuelle Optionsmaske zurück.
Hinweise
Der Optionswert kann beliebig oft geändert werden, während die Bibliothek von einer Anwendung verwendet wird. Die Optionsänderung wirkt sich auf alle zukünftigen Aufrufe des Symbolhandlers aus.
Rufen Sie die SymGetOptions-Funktion auf, um die aktuelle Optionsmaske abzurufen.
Alle DbgHelp-Funktionen, z. B. diese, sind singlethreaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.
Beispiele
Ein Beispiel finden Sie unter Initialisieren des Symbolhandlers.
Anforderungen
Zielplattform | Windows |
Kopfzeile | dbghelp.h |
Bibliothek | Dbghelp.lib |
DLL | Dbghelp.dll |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |