Freigeben über


IDebugSymbols3::GetSourceEntriesByLineWide-Methode (dbgeng.h)

Die GetSourceEntriesByLineWide-Methode fragt Symbolinformationen ab und gibt Speicherorte im Speicher des Ziels zurück, die Zeilen in einer Quelldatei entsprechen.

Syntax

HRESULT GetSourceEntriesByLineWide(
  [in]            ULONG                      Line,
  [in]            PCWSTR                     File,
  [in]            ULONG                      Flags,
  [out, optional] PDEBUG_SYMBOL_SOURCE_ENTRY Entries,
  [in]            ULONG                      EntriesCount,
  [out, optional] PULONG                     EntriesAvail
);

Parameter

[in] Line

Gibt die Zeile in der Quelldatei an, für die eine Abfrage ausgeführt werden soll. Die Zahl für die erste Zeile ist 1.

[in] File

Gibt die Quelldatei an. Die Symbole für jedes Modul im Ziel werden für diese Datei abgefragt.

[in] Flags

Gibt Bitflags an, die das Verhalten dieser Methode steuern. Flags können eine beliebige Kombination von Werten aus der folgenden Tabelle sein.

Wert BESCHREIBUNG
DEBUG_GSEL_NO_SYMBOL_LOADS Die Debugger-Engine sucht nur nach der Datei unter den Modulen, deren Symbole bereits geladen wurden. Symbole für die anderen Module werden nicht geladen.

Wenn diese Option nicht festgelegt ist, lädt die Debugger-Engine die Symbole für alle Module, bis die in Datei angegebene Datei gefunden wird.

DEBUG_GSEL_ALLOW_LOWER Schließen Sie alle Zeilen in Datei vor Zeile in das Ergebnis ein.
DEBUG_GSEL_ALLOW_HIGHER Schließen Sie alle Zeilen in Datei nach Zeile in das Ergebnis ein.
DEBUG_GSEL_NEAREST_ONLY Gibt höchstens ein Ergebnis zurück. Wenn DEBUG_GSEL_ALLOW_LOWER oder DEBUG_GSEL_ALLOW_HIGHER festgelegt sind, lautet das zurückgegebene Ergebnis für eine Zeile in der Nähe von Line , kann aber nicht Zeile sein, wenn keine Symbolinformationen für diese Zeile vorhanden sind.
 

Um den Standardsatz von Flags zu verwenden, legen Sie Flags auf DEBUG_GSEL_DEFAULT fest. Dadurch sind alle Flags in der vorherigen Tabelle deaktiviert.

[out, optional] Entries

Empfängt die Speicherorte im Speicher des Ziels, die den abgefragten Quellzeilen entsprechen. Jeder Eintrag in diesem Array ist vom Typ DEBUG_SYMBOL_SOURCE_ENTRY und enthält die Quellzeilennummer zusammen mit einem Speicherort im Speicher des Ziels.

[in] EntriesCount

Gibt die Anzahl der Einträge im Array Entries an.

[out, optional] EntriesAvail

Empfängt die Anzahl der Speicherorte, die der Abfrage entsprechen, die im Speicher des Ziels gefunden wurde.

Rückgabewert

Diese Methoden können auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
S_FALSE
Die Methode war erfolgreich. Das Array "Einträge " war jedoch nicht groß genug, um alle Ergebnisse zu enthalten, die der Abfrage entsprachen, und die zusätzlichen Ergebnisse wurden verworfen.
E_NOINTERFACE
Die Abfrage lieferte keine Ergebnisse. Dies schließt den Fall ein, in dem die Symbolinformationen für die angegebene Datei nicht verfügbar waren.

Hinweise

Diese Methoden können von Debuggeranwendungen verwendet werden, um Speicherorte im Speicher des Ziels abzurufen, um Haltepunkte festzulegen oder Quellcode mit disassemblierten Anweisungen abzugleichen. Wenn Sie z. B. die Flags DEBUG_GSEL_ALLOW_HIGHER und DEBUG_GSEL_NEAREST_ONLY festlegen, wird der Speicherspeicherort des Ziels für den ersten Codeabschnitt ab der angegebenen Zeile zurückgegeben.

Weitere Informationen zu Quelldateien finden Sie unter Verwenden von Quelldateien.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (dbgeng.h einschließen)

Weitere Informationen

DEBUG_SYMBOL_SOURCE_ENTRY

GetSourceFileLineOffsets

IDebugSymbols3