Ich habe ein Anwendung, die unter .Net 4 full (x86) erstellt wurde.
Es werden aber auch diverse unmanaged Technologien benutzt (DirectShow, DirectDraw, DirectSound etc.). Eine Umstellung auf MediaFoundation ist wegen Win XP nicht machbar.
Nun habe ich allerdings das Problem, dass mein Programm nach ca. 1 Std. Benutzung die Krätsche macht, weil eine OutOfMemory-Exception auftritt.
Eine Beobachtung mit gängigen Memory-Profilern (JustTrace, dorTrace und ANTS standen zur Verfügung) hat keine Schwachstellen im Managed-Bereich gefunden.
Die Verwendeten Caches geben ihren Speicher auch wunderbar wieder frei.
Die Vermutung ist also, dass das Problem der unmanaged Bereich ist.
Wie kann ich die Vermutung bestätigen und viel wichtiger: Wie finde ich die Fehler/Lecks?
Unmanaged ist so ne Sache...
Du kannst WinDbg verwenden und Dir regelmäßig Dumps raus lassen. Aber "tracen" geht in diesem Fall IIRC nicht.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code