Verwenden von Quelldateien

Die Debugger-Engine verwaltet einen Quellpfad, bei dem es sich um eine Liste von Verzeichnissen und Quellservern handelt, die Quellcodedateien enthalten, die den aktuellen Zielen zugeordnet sind. Die Debugger-Engine kann diese Verzeichnisse und Quellserver nach den Quelldateien durchsuchen. Mithilfe von Symboldateien kann die Debugger-Engine Zeilen in den Quelldateien mit Speicherorten im Speicher des Ziels abgleichen.

Eine Übersicht über die Verwendung von Quelldateien mit Debuggern finden Sie unter Debuggen im Quellmodus. Eine Übersicht über Quellpfade finden Sie unter Quellpfad. Eine Übersicht über die Verwendung von Quellservern aus der Debugger-Engine finden Sie unter Verwenden eines Quellservers.

Quellpfad

Um dem Quellpfad ein Verzeichnis oder einen Quellserver hinzuzufügen, verwenden Sie die Methode AppendSourcePath. Der gesamte Quellpfad wird von GetSourcePath zurückgegeben und kann mithilfe von SetSourcePath geändert werden. Ein einzelnes Verzeichnis oder Quellserver kann mithilfe von GetSourcePathElement aus dem Quellpfad abgerufen werden.

Um eine Quelldatei relativ zum Quellpfad zu finden, verwenden Sie FindSourceFile , oder verwenden Sie FindSourceFileAndToken, um erweiterte Optionen bei Verwendung von Quellservern zu erhalten. FindSourceFileAndToken kann auch zusammen mit GetSourceFileInformation verwendet werden, um Variablen im Zusammenhang mit einer Datei auf einem Quellserver abzurufen.

Abgleichen von Quelldateien mit Code im Arbeitsspeicher

Die Debugger-Engine bietet drei Methoden zum Suchen der Speicherspeicherorte, die Zeilen in einer Quelldatei entsprechen. Verwenden Sie GetOffsetByLine, um eine einzelne Quellcodezeile einem Speicherort zuzuordnen. Verwenden Sie GetSourceEntriesByLine, um nach Speicherspeicherorten für mehr als eine Quellzeile oder nach nahe gelegenen Quellzeilen zu suchen. Die GetSourceFileLineOffsets-Methode gibt den Speicherort jeder Zeile in einer Quelldatei zurück.

Verwenden Sie GetLineByOffset, um den umgekehrten Vorgang auszuführen und die Zeile einer Quelldatei zu suchen, die mit einem Speicherort im Speicher des Ziels übereinstimmt.

Hinweis Die Beziehung zwischen Speicherspeicherorten und Zeilen in einer Quelldatei ist nicht notwendigerweise 1:1. Es ist möglich, dass eine einzelne Quellcodezeile mehreren Speicherspeicherorten entspricht und ein einzelner Speicherort mehreren Quellcodezeilen entspricht.