2010-07-21 3 views
0

Je tente d'effectuer une stackwalk avec Xperf, en utilisant un fichier de commandes similaire à celui listé à Getting the symbols with xperf.XPerfView lent à charger des symboles

Je lance XperfView, confirme que le chemin du symbole est correct, puis charge les symboles. Toutefois, lorsque j'essaie d'ouvrir un tableau récapitulatif sur une partie sélectionnée (environ 5 secondes) du graphique "Échantillonnage du processeur par le processeur", l'Analyseur de performances se bloque (ne répond pas) pendant une longue période (heures). Je l'ai laissé en marche la nuit dernière, et quand je suis arrivé ce matin, la table récapitulative était enfin chargée, contenant les résultats attendus ... Je pensais que c'était juste un téléchargement initial pour mettre les symboles en mémoire cache à C: \ symboles, mais un test de répétition ce matin a des problèmes similaires (accrocher pendant 1 heure 15 minutes à ce stade).

Répondre

0

Avez-vous mis en place symcache quelque chose comme ça

SRV*c:\dev\symbols*http://msdl.microsoft.com/download/symbols 

Le symcache se cache les symboles localement. J'ai habituellement ma variable d'environnement _NT_SYMBOL_PATH avec les informations ci-dessus.

HTH

+0

merci pour la suggestion! J'ai relu la documentation sur le support de symbole http://msdn.microsoft.com/en-us/library/ff191023(v=VS.85).aspx, et changé mon _NT_SYMCACHE_PATH, qui était C: \ Symbols, en C: \ SymCache, et créé le dossier SymCache, mais toujours pas de chance. Pour réitérer, j'ai les variables d'environnement globales comme suit:
_NT_SYMBOL_PATH = ; SRV * c: \ symboles * http: //msdl.microsoft.com/download/symbols
_NT_SYMCACHE_PATH = C: \ SymCache – sschilz

+0

Vous pourrait essayer et diagnostiquer avec Procmon. – Naveen

1

Dans son post, Bruce Dawson spécule qu'il ya un problème avec dbghelp.dll et/ou dans symsrv.dll WPT tel que livré dans le kit de développement en cours. Il suggère de remplacer ceux avec ceux de Visual Studio 2010, ou des outils de débogage pour Windows (par exemple WinDbg). Travaillé pour moi ...

3

WPT (xperf, xperfview, WPA) n'est pas livré avec dbghelp.dll et symsrv.dll. Cela signifie que, selon ce qui est dans votre chemin, vous pouvez obtenir:

  1. symbole rapide chargement
  2. chargement Symbole qui prend jusqu'à 150x plus
  3. Pas de chargement de symbole du tout.

La solution consiste à copier une version connue de ces DLL dans le répertoire d'installation WPT. Pour plus de détails voir ce post: http://randomascii.wordpress.com/2012/10/04/xperf-symbol-loading-pitfalls/

Questions connexes