Mise en cache des fichiers de symboles acquis
En règle générale, SymProxy met en cache les fichiers qu’il acquiert dans le répertoire désigné dans Internet Information Services (IIS) comme racine virtuelle du site Web associé. Ensuite, IIS met le fichier à la disposition du débogueur client. Étant donné que le débogueur ne peut pas ouvrir un fichier directement à partir de HTTP, il copie le fichier dans un cache local, spécifié par le chemin du symbole :
srv*c:\localcache*https://server/symbols
Dans cet exemple, le débogueur client copie le fichier dans c:\localcache. Dans une situation comme celle-ci, le fichier est copié deux fois : une fois par SymProxy vers la racine virtuelle du site web, et à nouveau par le débogueur dans son cache local.
Il est possible d’éviter la deuxième opération de copie et d’accélérer le traitement. Pour ce faire, vous devez d’abord partager la racine virtuelle du site web en tant que chemin UNC accessible par les débogueurs. Par exemple, ce chemin est nommé \\server\symbols. Vous devez ensuite supprimer la configuration IIS pour les types MIME :
Pour supprimer la configuration IIS pour les types MIME
À partir des Outils d’administration, ouvrez le Gestionnaire des services Internet (IIS).
Développez Sites web.
Cliquez avec le bouton droit sur Site web par défaut.
Cliquez avec le bouton droit sur le répertoire virtuel Symboles , puis sélectionnez Propriétés.
Cliquez sur l’onglet En-têtes HTTP .
Cliquez sur Types MIME .
Sélectionnez tous les types dans la zone de liste intitulée Types MIME inscrits.
Cliquez sur Supprimer .
Pour quitter la boîte de dialogue Types MIME , cliquez sur OK.
Pour quitter les propriétés des symboles, cliquez sur OK.
Cela oblige IIS à retourner le fichier introuvable au client de débogage pour toutes les transactions sur le site web. Toutefois, cela n’empêche pas SymProxy de remplir la racine virtuelle avec le fichier.
Après avoir supprimé la configuration IIS pour les types MIME, configurez les clients du débogueur pour qu’ils recherchent d’abord des symboles dans le magasin HTTP et dans le partage mappé à la racine virtuelle du magasin avec la commande :
srv**https://server/symbols;srv*\\server\symbols
Dans l’exemple précédent, le premier élément du chemin du symbole (srv**https://server/symbols) indique d’obtenir des fichiers à partir du magasin HTTP et de les copier dans le magasin de symboles par défaut en tant que cache local. Le cache spécifié n’a aucune importance, car aucun fichier n’est jamais reçu du magasin HTTP. Après cet échec, il tente d’obtenir le fichier à partir de l’emplacement réel de la racine virtuelle du magasin (srv*\\server\symbols). Cette tentative réussit, car le fichier est copié à cet emplacement en tant qu’effet secondaire du traitement précédent du chemin d’accès.