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 qualsiasi directory che si trovi anche nel percorso di origine.

Ad 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 che la sessione di debug è finita. 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 è Debug Tools for Windows installation directory; può essere modificato usando l'estensione !homedir o impostando la variabile di ambiente DBGHELP_HOMEDIR. Se la sottodirectory src della home directory non esiste già, viene creata.

Debug 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 esegue la stessa operazione, ma potresti aver già perso informazioni importanti dai tentativi di estrazione precedenti. Ciò è dovuto al fatto che il debugger rinuncia a tentare di accedere all'origine dai repository di controllo della versione che sembrano non raggiungibili.

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 -m Address.

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 oppure vedere 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.