Chargement différé des symboles

Par défaut, les informations sur les 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 à mesure qu’ils sont nécessaires. C’est ce qu’on appelle chargement différé de symboles ou chargement différé de symboles. Lorsque cette option est activée, le débogueur charge des symboles chaque fois qu’il rencontre un symbole non reconnu.

Lorsque le chemin du symbole est modifié, par exemple à l’aide de la commande .sympath (Définir le chemin du symbole), tous les modules chargés avec des symboles d’exportation sont rechargés tardivement. Les symboles des modules avec des symboles PDB complets seront rechargés tardivement 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 d’accès inclut toujours le chemin d’accès d’origine au fichier de symboles PDB, ces symboles ne sont pas rechargés tardivement.

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 différé des symboles peut être modifié pour les symboles qui n’ont pas de préfixe de module à l’aide de l’option Résoudre les symboles non qualifiés dans le menu Déboguer .

Vous pouvez remplacer le chargement différé des symboles à l’aide de la commande ld (Charger des symboles) ou de la commande .reload (recharger le module) avec l’option /f . Cela force le chargement immédiat des symboles spécifiés, bien que le chargement d’autres symboles soit différé.

Par défaut, le chargement différé des symboles 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.