Frage

Was ist der beste Weg, um einen Speicherverlust aufzuspüren, der nur auf der Test-/Release-Box eines Kunden und nirgendwo anders gefunden wird?

War es hilfreich?

Lösung

dotTrace3.1

(Diese Frage ist irgendwie komisch, weil ich ein mem Leck am Tracking, die nicht auf meiner Maschine ist ...)

Andere Tipps

Versuchen Sie, einen Speicher-Profiler wie ANTS Profiler .

Wenn der Benutzer das Problem hat konsequent es, eine STACKDUMP nehmen und auf die übliche Weise analysiert

Es ist entweder Code, Daten oder Konfiguration.

Da Sie den Code sagen, ist nicht fehlerhaft 100% der Zeit, würde ich Konfiguration schuld. Nehmen Sie eine Kopie der Konfiguration (und einige Daten optional) und versuchen, das Problem zu replizieren; Sie werden nicht wissen, die Sie gefunden haben und fixiert es ohne Reproduktion.

Schließlich löst sie mit einem Speicher-Profiler.

Hier ist eine Option: Geben Sie ihnen eine Box, wo das Leck nicht vorhanden ist

.

Manchmal ist es nicht der Code.

Edit: Es ist entweder der Code, die Daten oder die Konfiguration.

oder .NET Framework, das Betriebssystem, die Treiber, IIS oder COM (Automatisierung von Excel, zum Beispiel), oder so weiter.

Meine Vermutung ist, dass der Speicherverlust, außer nicht reproduzierbar ist auf der Box des Kunden (die die Entwickler nicht auf dem Zugang zum Debuggen zugelassen werden).

PerfMon kann hilfreich sein (http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/).Es gibt mehrere Zähler, die dabei helfen können, einzugrenzen, welche Ressource ausläuft, mit welcher Rate usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top