IDebugSymbols3::GetSourceEntriesByLine-Methode (dbgeng.h)

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

Syntax

HRESULT GetSourceEntriesByLine(
  [in]                    ULONG                      Line,
  [in]                    PCSTR                      File,
  [in]                    ULONG                      Flags,
  [out, writes, 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, wird das zurückgegebene Ergebnis für eine Zeile in der Nähe von Linie , 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, writes, optional] Entries

Empfängt die Speicherorte im Arbeitsspeicher 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 mit der Abfrage im Speicher des Ziels übereinstimmen.

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 Entries war jedoch nicht groß genug, um alle Ergebnisse aufzunehmen, die mit der Abfrage übereinstimmten, und die zusätzlichen Ergebnisse wurden verworfen.
E_NOINTERFACE
Die Abfrage ergab 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 zum Festlegen von Haltepunkten oder zum Abgleichen von Quellcode mit disassemblierten Anweisungen abzurufen. Wenn Sie beispielsweise 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 (einschließlich Dbgeng.h)

Weitere Informationen

DEBUG_SYMBOL_SOURCE_ENTRY

GetSourceFileLineOffsets

IDebugSymbols3