Condividi tramite


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ò stabilire corrispondenze tra le righe nei file di origine e le posizioni nella memoria del target.

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 di 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 oppure, per opzioni più avanzate quando si usano i server di origine, usare FindSourceFileAndToken. FindSourceFileAndToken può anche essere usato insieme a GetSourceFileInformation per recuperare le variabili correlate a un file in un server di origine.

Associazione dei file di origine con il 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 posizioni di memoria per più righe di origine o per le righe di origine vicine, 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 un percorso 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ù posizioni di memoria e che una singola posizione di memoria corrisponda a più righe di codice sorgente.