Dieses Papier zeigt, wie man komplexe, heterogene Systeme analysiert, wenn die einfachen Methoden (Debugger, Profiler) nicht ausreichen. Wir erläutern die Grundlagen, beschreiben ein Vorgehen mit den nötigen Tools und bringen einige Beispiele aus unserer Praxis. Wir behandeln ferner den präventiven Einsatz des Vorgehens im Entwicklungsprozess und definieren die Diagnostizierbarkeit (Diagnosibility) eines Softwaresystems als wichtige nichtfunktionale Eigenschaft.