Je suis intéressé par le fichier de symboles utilisé lorsque nous analysons un fichier de vidage à l'aide de Windbg ou de Visual Studio. Supposons que mon application utilise une bibliothèque d'utilitaires et que la bibliothèque d'utilitaires ait un fichier de symboles privé associé. Lorsqu'il y a un vidage sur incident dans mon application, j'ai besoin du symbole de la bibliothèque utilitaire pour analyser la pile d'appels complète. Mais parfois, les environnements build/runtime/debug sont installés avec différentes versions de la bibliothèque d'utilitaires - qui sont (à coup sûr) des différentes versions des symboles de la bibliothèque d'utilitaires. Supposons que nous ayons une version (par exemple la version A) de la bibliothèque utilitaire (et du symbole associé) pour construire mon application, en utilisant une autre version (par exemple la version B) de la bibliothèque utilitaire (et le symbole associé) est crash, et en utilisant une autre version différente (par exemple la version C) de la bibliothèque utilitaire (et le symbole associé) dans Windbg lorsque j'analyse le vidage sur incident.Problème de symbole de débogage
Ma question est, lorsque le plantage est genarated en exécution, le symbole version B est utilisé pour générer le vidage sur incident (pour remplir le vidage avec des informations de symbole)? Mais lors de l'utilisation d'une version différente du symbole C dans l'environnement de débogage Windbg, il y aura un problème de correspondance de symbole? Et quelle version de la bibliothèque est utilisée pour construire n'a pas d'importance? Mes compréhensions sont-elles toutes correctes?
merci à l'avance, George
Hi MarkusQ, pour des raisons non techniques (les commandes build/run/debug sont exécutées par différentes parties et ne sont pas encore synchronisées) différents binaires sont utilisés. Ma question est quand le dump est produit, est-ce que le dump dépend des symboles de bibliothèque d'exécution pour remplir l'information de vidage? – George2
@George - Je parlais juste en général. Voir la réponse de Matt Ellis pour de bons détails. (Je le vénère) – MarkusQ
Salut MarkusQ, je n'ai pas trouvé ma réponse à partir de son post - pourquoi il y aura une non-concordance de symboles (ou signaler une mauvaise information) si l'environnement (qui génère un crash dump) utilise une version différente du symbole , mais l'environnement utilisé pour exécuter windbg pour analyser la décharge utilise une autre version du symbole? – George2