Utilisation d’un serveur source

Un serveur source permet au débogueur de récupérer automatiquement les fichiers sources qui correspondent à la cible actuelle. Pour utiliser un serveur source, vous devez déboguer des fichiers binaires qui ont été indexés à la source au moment de la génération et dont les emplacements des fichiers sources sont incorporés dans les fichiers PDB.

Les outils de débogage pour Windows incluent le serveur source SrcSrv (Srcsrv.exe).

Utilisation de SrcSrv avec un débogueur

SrcSrv peut être utilisé avec WinDbg, KD, NTSD ou CDB.

Pour utiliser SrcSrv avec le débogueur, entrez la commande suivante pour définir le chemin source sur srv*.

.srcfix

Vous pouvez obtenir le même résultat en entrant la commande suivante.

.srcpath srv*

La définition du chemin d’accès source sur srv* indique au débogueur qu’il doit récupérer les fichiers sources à partir des emplacements spécifiés dans les fichiers de symboles des modules cibles.

Si vous souhaitez utiliser SrcSrv et inclure également une liste de répertoires dans votre chemin d’accès source, utilisez des points-virgules pour vous séparer srv* des répertoires qui se trouvent dans le chemin.

Par exemple :

.srcpath srv*;c:\someSourceCode 

Si le chemin source est défini comme indiqué dans l’exemple précédent, le débogueur utilise d’abord SrcSrv pour récupérer les fichiers sources à partir des emplacements spécifiés dans les fichiers de symboles des modules cibles. Si SrcSrv ne parvient pas à récupérer un fichier source, le débogueur tente de le récupérer à partir de c :\someSourceCode. Que srv* soit le premier élément du chemin d’accès ou s’affiche ultérieurement, le débogueur utilise toujours SymSrv avant de rechercher d’autres répertoires répertoriés dans le chemin d’accès.

Vous pouvez également utiliser .srcfix+ pour ajouter srv* à votre chemin d’accès source existant, comme illustré dans l’exemple suivant.

3: kd> .srcpath c:\mySource
Source search path is: c:\mySource
3: kd> .srcfix+
Source search path is: c:\mySource;SRV*

Si un fichier source est récupéré par le serveur source, il restera sur votre disque dur après la fin de la session de débogage. Les fichiers sources sont stockés localement dans le sous-répertoire src du répertoire de base (contrairement au serveur de symboles, le serveur source ne spécifie pas de cache local dans la srv* syntaxe elle-même). Par défaut, le répertoire de base est le répertoire d’installation du débogueur ; Il peut être modifié à l’aide de l’extension !homedir ou en définissant la variable d’environnement DBGHELP_HOMEDIR. Si ce sous-répertoire n’existe pas déjà, il est créé.

Si vous utilisez la commande .open (fichier open source) pour ouvrir un nouveau fichier source via SrcSrv, vous devez inclure le paramètre -m Address.

Pour plus d’informations sur l’indexation de vos sources ou si vous envisagez de créer votre propre module de fournisseur de contrôle de code source, consultez SrcSrv.

Utilisation d’AgeStore pour réduire la taille du cache

Tous les fichiers sources téléchargés par SrcSrv restent sur votre disque dur une fois la session de débogage terminée. Pour contrôler la taille du cache source, l’outil AgeStore peut être utilisé pour supprimer les fichiers mis en cache antérieurs à une date spécifiée ou pour réduire le contenu du cache en dessous d’une taille spécifiée. Pour plus d’informations, consultez AgeStore.