Condividi tramite


Uso di SrcSrv

Per usare SrcSrv con WinDbg, KD, NTSD o CDB, verificare di aver installato una versione recente del pacchetto Strumenti di debug per Windows (versione 6.3 o successiva). Includere quindi il testo srv* nel percorso di origine, separato da punti e virgola da tutte le directory presenti anche nel percorso di origine.

Per esempio:

.srcpath srv*;c:\someSourceCode

Se il percorso di origine è impostato come illustrato nell'esempio precedente, il debugger usa prima SrcSrv per recuperare i file di origine dai percorsi specificati nei file di simboli dei moduli di destinazione. Se SrcSrv non è in grado di recuperare un file di origine, il debugger tenta di recuperarlo da c:\someSourceCode. Indipendentemente dal fatto che srv* sia il primo elemento nel percorso o venga visualizzato in un secondo momento, il debugger usa sempre SymSrv prima di eseguire ricerche in qualsiasi altra directory elencata nel percorso.

Se un file di origine viene recuperato da SrcSrv, rimane sul disco rigido dopo la sessione di debug. I file di origine vengono archiviati localmente nella sottodirectory src della home directory (a differenza del server di simboli, il server di origine non specifica una cache locale nella srv* sintassi stessa). Per impostazione predefinita, la home directory è la directory di installazione degli strumenti di debug per Windows. Può essere modificata usando l'estensione !homedir o impostando la variabile di ambiente DBGHELP_HOMEDIR. Se non esiste già, viene creata la sottodirectory src della home directory.

Debuggaggio di SrcSrv

Se si verificano problemi durante l'estrazione dei file di origine dal debugger, avviare il debugger con il parametro della riga di comando -n per visualizzare i comandi di estrazione di origine effettivi insieme all'output di tali comandi. Il comando !sym noisy fa la stessa cosa, ma potresti aver già perso informazioni importanti dai precedenti tentativi di estrazione. Ciò è dovuto al fatto che il debugger rinuncia a tentare di accedere al codice sorgente dai repository che sembrano irraggiungibili.

Recupero di file di origine

Se si usa il comando open (Open Source File) per aprire un nuovo file di origine tramite SrcSrv, è necessario includere il parametro Address -m.

Per facilitare l'uso di SrcSrv da strumenti diversi dai debugger elencati in precedenza, l'API DbgHelp fornisce l'accesso alla funzionalità SrcSrv tramite la funzione SymGetSourceFile . Per recuperare il nome del file di origine da recuperare, chiamare la funzione SymEnumSourceFiles o SymGetLineFromAddr64 . Per altre informazioni sull'API DbgHelp, vedere la documentazione di dbghelp.chm, disponibile nella sottodirectory sdk/help della directory di installazione degli strumenti di debug per Windows o vedere La libreria della Guida di debug.

Uso di AgeStore per ridurre le dimensioni della cache

Tutti i file di origine scaricati da SrcSrv rimangono sul disco rigido dopo la sessione di debug. Per controllare le dimensioni della cache di origine, è possibile usare lo strumento AgeStore per eliminare i file memorizzati nella cache precedenti a una data specificata o per ridurre il contenuto della cache al di sotto di una dimensione specificata. Per informazioni dettagliate, vedere AgeStore.