J'essaie d'analyser un projet WPF (WPF, .NET 4.6.1, EF 6, Moq., Sur une machine i5 avec W10 64 bits) à l'aide de l'analyseur de performances avec uniquement "Timeline" activé.
Le problème est que, lors de l’arrêt du programme, je suis coincé dans l’onglet "Signaler ..... diagsession" avec le message "Microsoft Visual Studio arrête votre session de diagnostics" et le sablier tournant. Parfois, le délai expire, d'autres fois, j'arrive au rapport, mais 5 à 20 minutes plus tard.
Fait intéressant, le temps d'attente pour l'arrêt de la session de diagnostic est inclus dans le rapport. C'est comme si le processus de collecte des données ne permettait pas au message d'arrêter d'enregistrer.
À l'aide de Windows Resource Monitor, j'ai remarqué que VsStandardCollector.exe écrivait d'énormes quantités de données dans un sous-dossier dans "C:\Utilisateurs\XXX\AppData\Local\Temp \". Environ 9 gigaoctets lors de mon dernier essai, couvrant 10 minutes au total, alors que mon application ne fonctionnait que pendant 30 secondes avant que je ne l'arrête.
Quiconque a une idée de ce qui pourrait causer le retard dans l’arrêt de la session?
L'utilisation du processeur et du disque est très faible pendant l'attente (<5%)
Récemment, j'ai appris l'existence de PerfView , outil utilisé pour l'analyse des performances, même au sein de Microsoft. C'est beaucoup moins cher que VisualStudio, en fait c'est gratuit.
Vous pouvez donc l'utiliser pour analyser les performances de Visual Studio afin de répondre à votre question ou même mieux - utilisez-le pour analyser les performances de votre application WPF.
Il semble que si votre projet consomme plus de 4 Go, le profileur standard est extrêmement lent et reste parfois bloqué par un problème interne invisible inconnu. Je parviens à parcourir cette procédure en procédant comme suit