Uso dei file di origine

Il motore del debugger gestisce un percorso di origine, ovvero un elenco di directory e server di origine che contengono file di codice sorgente associati alle destinazioni correnti. Il motore del debugger può eseguire ricerche in queste directory e nei server di origine per i file di origine. Con l'aiuto dei file di simboli, il motore del debugger può corrispondere alle righe nei file di origine con i percorsi nella memoria della destinazione.

Per una panoramica dell'uso dei file di origine con i debugger, vedere Debug in modalità origine. Per una panoramica dei percorsi di origine, vedere Percorso di origine. Per una panoramica dell'uso dei server di origine dal motore del debugger, vedere Uso di un server di origine.

Percorso di origine

Per aggiungere una directory o un server di origine al percorso di origine, utilizzare il metodo AppendSourcePath. L'intero percorso di origine viene restituito da GetSourcePath e può essere modificato tramite SetSourcePath. È possibile recuperare una singola directory o un server di origine dal percorso di origine usando GetSourcePathElement.

Per trovare un file di origine relativo al percorso di origine, usare FindSourceFile o, per opzioni più avanzate quando si usano i server di origine, usare FindSourceFileAndToken. È anche possibile usare FindSourceFileAndToken insieme a GetSourceFileInformation per recuperare le variabili correlate a un file in un server di origine.

Corrispondenza dei file di origine al codice in memoria

Il motore del debugger fornisce tre metodi per individuare i percorsi di memoria che corrispondono alle righe di un file di origine. Per eseguire il mapping di una singola riga di codice sorgente a una posizione di memoria, usare GetOffsetByLine. Per cercare percorsi di memoria per più righe di origine o per le righe di origine nelle vicinanze, usare GetSourceEntriesByLine. Il metodo GetSourceFileLineOffsets restituirà il percorso di memoria di ogni riga in un file di origine.

Per eseguire l'operazione opposta e trovare la riga di un file di origine corrispondente a una posizione nella memoria della destinazione, usare GetLineByOffset.

Nota La relazione tra percorsi di memoria e righe in un file di origine non è necessariamente uno-a-uno. È possibile che una singola riga di codice sorgente corrisponda a più percorsi di memoria e che una singola posizione di memoria corrisponda a più righe di codice sorgente.