Partager via


Chargement différé des symboles

Par défaut, les informations de symboles ne sont pas réellement chargées lorsque les modules cibles sont chargés. Au lieu de cela, les symboles sont chargés par le débogueur, car ils sont nécessaires. Il s’agit du chargement de symbole différé ou du chargement de symboles différés. Lorsque cette option est activée, le débogueur charge les symboles chaque fois qu’il rencontre un symbole non reconnu.

Lorsque le chemin de symbole est modifié, par exemple en utilisant la commande .sympath (Définir le chemin d’accès aux symboles), tous les modules chargés avec des symboles d’exportation sont rechargés de manière différée. Les symboles des modules avec des symboles PDB complets seront rechargés de manière différée si le nouveau chemin d’accès n’inclut plus le chemin d’accès d’origine utilisé pour charger les symboles PDB. Si le nouveau chemin inclut toujours le chemin d’accès d’origine au fichier de symboles PDB, ces symboles ne seront pas rechargés de manière différée.

Lorsque le chargement différé des symboles est désactivé, le démarrage du processus peut être beaucoup plus lent, car tous les symboles sont lus chaque fois qu’un module est chargé.

Dans WinDbg, le comportement de chargement des symboles différés peut être modifié pour les symboles qui n’ont aucun préfixe de module à l’aide de l’option Résoudre les symboles non qualifiés dans le menu Débogage .

Vous pouvez remplacer le chargement de symboles différés à l’aide de la commande ld (Charger des symboles) ou de la commande .reload (Module de rechargement) avec l’option /f. Ces valeurs forcent le chargement immédiat des symboles spécifiés, même si le chargement d’autres symboles est différé.

Par défaut, le chargement des symboles différés est activé. Dans CDB et KD, l’option de ligne de commande -s désactive cette option. Il peut également être désactivé dans CDB à l’aide de la variable LazyLoad dans le fichier tools.ini . Une fois le débogueur en cours d’exécution, cette option peut être activée ou désactivée à l’aide de .symopt+0x4 ou .symopt-0x4, respectivement.