Question

J'essaie d'utiliser Microsoft CLRProfiler pour profiler mon application assez volumineuse. Elle se bloque chaque fois qu’elle tente d’écrire (ou de lire) un fichier journal. Ironiquement, le bogue exact est documenté dans Le site de 'commentaires' MS n'est pas reproductible et ne semble jamais avoir été corrigé. Je reçois un NullReferenceException à:

CLRProfiler.ReadNewLog.ReadFile(Int64 startFileOffset, Int64 endFileOffset, ReadLogResult readLogResult)
at CLRProfiler.MainForm.checkProcessTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Quelqu'un at-il une idée de ce que je pourrais faire pour obtenir de l'aide ou, idéalement, pour que cette fichue chose fonctionne correctement? Les appels d’aide plaintifs sur MSDN ont été ignorés ... Merci!

Était-ce utile?

La solution

Le profileur CLR est assez instable, j'ai également rencontré de nombreux plantages.

Un conseil que j'ai entendu à PDC est de ne l'utiliser que comme un outil de capture instantanée: ne collectez pas les informations d'utilisation de la mémoire lors de l'exécution de l'application, mais arrêtez l'application à un moment où vous savez que vous en avez la mémoire. problème déjà, et faire un instantané de mem.

De cette façon, il est beaucoup plus stable et, généralement, le graphique de référence vous permet de déterminer la cause de la fuite.

Autres conseils

Je soupçonne que c'est une avenue morte. Peut-être essayez-vous avec JetBrains dotTRACE ; vous pouvez obtenir un essai gratuit de 10 jours pour voir s'il convient.

Nous avons rencontré un problème similaire lors du débogage d’un mammouth en panne sur un serveur Citrix distant que CLRProfiler n’a pas analysé.

Nous avons pu trouver le problème à l'aide de WinDbg .

De plus, cela peut aussi aider CorDbg

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top