5.5 macOS – Werkzeuge zur Fehleranalyse

Kurz erklärt

macOS stellt grafische Diagnoseprogramme und zahlreiche Unix-Werkzeuge im Terminal bereit. Damit lassen sich unter anderem folgende Bereiche untersuchen:

Viele Terminalbefehle ähneln Linux-Befehlen. macOS verwendet jedoch eigene Komponenten und Verwaltungsmechanismen, beispielsweise:

Ein Symptom ist noch keine Ursache. Auch unter macOS müssen zuerst Zustand, Zeitpunkt, Umfang und betroffene Komponente bestimmt werden, bevor Einstellungen verändert, Dateien gelöscht oder Dienste neu gestartet werden.


1. Sichere Arbeitsweise

Vor einer Veränderung sollten möglichst viele Informationen im fehlerhaften Zustand gesichert werden.

Empfohlene Reihenfolge

  1. Störung und erwartetes Verhalten beschreiben.
  2. Zeitpunkt und letzte Änderungen feststellen.
  3. betroffene Benutzer, Geräte und Anwendungen bestimmen.
  4. Systemversion und Hardwaremodell erfassen.
  5. Prozess-, Ressourcen- und Netzwerkzustand dokumentieren.
  6. relevante Protokolle sichern.
  7. eine prüfbare Hypothese formulieren.
  8. eine möglichst kleine und reversible Prüfung durchführen.
  9. Ergebnis und Nebenwirkungen dokumentieren.
  10. erst danach eine dauerhafte Lösung umsetzen.

Vor Veränderungen prüfen

Wichtige Schutzmechanismen

Mechanismus Bedeutung für die Fehleranalyse
Benutzerrechte Viele Informationen sind nur für den aktuellen Benutzer sichtbar.
sudo Führt einen Befehl mit erhöhten Rechten aus, hebt aber nicht automatisch alle macOS-Schutzmechanismen auf.
TCC Kontrolliert unter anderem den Zugriff auf Dateien, Kamera, Mikrofon, Bildschirmaufnahme und Bedienungshilfen.
Festplattenvollzugriff Kann für Terminal oder Diagnoseprogramme erforderlich sein, um geschützte Daten einzusehen.
SIP Schützt kritische Systembereiche und Systemprozesse vor Veränderungen.
Gatekeeper Bewertet heruntergeladene Programme und deren Signatur beziehungsweise Beglaubigung.
FileVault verschlüsselt das Startvolume und beeinflusst Zugriff und Wiederherstellung.
MDM Kann Einstellungen, Profile, Erweiterungen und Sicherheitsrichtlinien zentral vorgeben.

sudo und Festplattenvollzugriff sind nicht dasselbe. Ein als Administrator ausgeführter Prozess kann weiterhin durch TCC oder SIP eingeschränkt werden.


2. Schnelle Systemübersicht

Vor einer tieferen Analyse sollten Betriebssystem, Hardware, Laufzeit und Zeitpunkt erfasst werden.

macOS-Version anzeigen

sw_vers

Typische Ausgabe:

ProductName:            macOS
ProductVersion:         14.7.4
BuildVersion:           23H420

Nur die Versionsnummer:

sw_vers -productVersion

Nur die Buildnummer:

sw_vers -buildVersion

Kernel und Architektur anzeigen

uname -a
uname -m

Typische Architekturen:

Ausgabe Bedeutung
arm64 Prozess läuft nativ auf einem Mac mit Apple-Chip
x86_64 Intel-Prozess oder unter bestimmten Bedingungen ein durch Rosetta übersetzter Prozess

Hardware- und Systembericht

system_profiler SPHardwareDataType SPSoftwareDataType

Kompaktere Darstellung:

system_profiler SPHardwareDataType SPSoftwareDataType -detailLevel mini

Alle verfügbaren Datentypen anzeigen:

system_profiler -listDataTypes

Bestimmte Bereiche gezielt untersuchen:

system_profiler SPNetworkDataType
system_profiler SPUSBDataType
system_profiler SPThunderboltDataType
system_profiler SPBluetoothDataType
system_profiler SPStorageDataType
system_profiler SPPowerDataType
system_profiler SPDisplaysDataType

Ein vollständiger Aufruf von system_profiler kann umfangreich sein und längere Zeit benötigen. Für eine gezielte Fehleranalyse sollten nur die relevanten Datentypen abgefragt werden.

Laufzeit und Last

uptime

Aktuelles Datum und Zeitzone

date
systemsetup -gettimezone

systemsetup benötigt für viele Abfragen Administratorrechte:

sudo systemsetup -gettimezone

Computername und Hostnamen

scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName

Wenn kein expliziter HostName gesetzt wurde, kann der letzte Befehl eine Fehlermeldung ausgeben. Das beweist allein keine Störung.


3. „Über diesen Mac“ und Systeminformationen

Die grafische App Systeminformationen zeigt Hardware-, Netzwerk- und Softwareinformationen an.

Öffnen

open -a "System Information"

Geeignete Diagnosebereiche

Typische Fragestellungen

Wenn ein Gerät in den Systeminformationen erscheint, ist zunächst nur seine Erkennung bestätigt. Daraus folgt noch nicht, dass Treiber, Berechtigungen, Anwendung und vollständige Funktion korrekt sind.


4. Aktivitätsanzeige

Die Aktivitätsanzeige ist das zentrale grafische Werkzeug zur Untersuchung laufender Prozesse und der Ressourcennutzung.

Öffnen

open -a "Activity Monitor"

Je nach Spracheinstellung wird die App als Aktivitätsanzeige dargestellt.

Wichtige Bereiche

Bereich wichtige Informationen
CPU CPU-Anteil, CPU-Zeit, Threads, nicht reagierende Prozesse
Speicher Speicherverbrauch, Speicherdruck, komprimierter Speicher, Swap
Energie Energiebedarf einzelner Anwendungen
Festplatte gelesene und geschriebene Daten
Netzwerk empfangene und gesendete Daten und Pakete

Darstellung richtig auswählen

Über Darstellung kann festgelegt werden, welche Prozesse angezeigt werden:

Ein Prozess kann ansonsten übersehen werden, obwohl er weiterhin ausgeführt wird.

Speicherdruck interpretieren

Zustand Einordnung
Grün Speicher kann derzeit effizient bereitgestellt werden.
Gelb Speicherressourcen stehen unter zunehmendem Druck.
Rot Der verfügbare Speicher reicht für die aktuelle Last nicht angemessen aus.

Nicht allein der Wert „freier Speicher“ ist entscheidend. macOS verwendet freien Arbeitsspeicher bewusst als Cache. Aussagekräftiger sind:

Prozess beenden

Die Aktivitätsanzeige bietet:

Vor dem Beenden prüfen:

Ein Prozess mit hoher CPU-Auslastung ist nicht automatisch fehlerhaft. Entscheidend sind Arbeitslast, Dauer, Benutzerwirkung und erwartetes Verhalten.


5. Prozesse im Terminal untersuchen

Prozessliste

ps aux

Nach einem Prozess suchen:

ps aux | grep -i "prozessname"

Damit der Suchbefehl selbst nicht als Treffer erscheint:

pgrep -afil "prozessname"

Prozesse hierarchisch anzeigen

ps -axo pid,ppid,user,%cpu,%mem,state,start,time,command

Momentaufnahme der Ressourcennutzung

top -l 1

Nach CPU-Auslastung sortieren:

top -l 1 -o cpu

Nach Speicherverbrauch sortieren:

top -l 1 -o mem

Nur einen bestimmten Prozess beobachten:

top -pid 1234

1234 muss durch die tatsächliche Prozess-ID ersetzt werden.

Signal zum geordneten Beenden senden

kill 1234

Erzwungenes Beenden

kill -9 1234

SIGKILL sollte nur verwendet werden, wenn ein geordneter Abbruch nicht funktioniert. Der Prozess kann dann keine Aufräumarbeiten mehr ausführen oder Daten geordnet speichern.

Prozess untersuchen

sample 1234 10

Der Befehl erstellt für zehn Sekunden Stichproben der ausgeführten Funktionen. Das kann bei hoher CPU-Auslastung oder blockierten Prozessen helfen.

Geöffnete Dateien und Verbindungen

lsof -p 1234

Alle offenen Dateien mit einem bestimmten Pfad suchen:

lsof "/Pfad/zur/Datei"

Prozess ermitteln, der einen TCP-Port verwendet:

lsof -nP -iTCP:8080

Nur TCP-Listener anzeigen:

lsof -nP -iTCP -sTCP:LISTEN

Bewertung

Beobachtung mögliche Hypothese
dauerhaft hohe CPU-Last Endlosschleife, rechenintensive Aufgabe, fehlerhafte Erweiterung
steigender Speicherverbrauch Speicherleck, ungewöhnliche Datenmenge, Cache-Verhalten
Prozess reagiert nicht blockierte Ein-/Ausgabe, Deadlock, abhängiger Dienst
Prozess startet nach Beenden erneut Verwaltung durch launchd, Login-Objekt oder MDM
Port ist bereits belegt konkurrierender Dienst oder zweite Programminstanz
Datei bleibt geöffnet Prozess verhindert Aushängen, Verschieben oder Löschen

Diese Beobachtungen sind Hinweise, aber noch keine bestätigten Ursachen.


6. Arbeitsspeicher untersuchen

Speicherstatistik

vm_stat

Die Werte werden überwiegend in Speicherseiten ausgegeben. Die Seitengröße steht in der ersten Ausgabezeile und darf nicht pauschal als immer identisch angenommen werden.

Speicherdruck prüfen

memory_pressure

Swap-Nutzung

sysctl vm.swapusage

Wichtige Zusammenhänge

Geeignete Beweiskette

  1. Zeitpunkt der Verlangsamung bestimmen.
  2. Speicherdruck in der Aktivitätsanzeige prüfen.
  3. Swap- und Komprimierungswerte erfassen.
  4. Prozesse nach Speicherverbrauch sortieren.
  5. Entwicklung über einen längeren Zeitraum beobachten.
  6. Anwendungs- und Systemprotokolle zum gleichen Zeitpunkt auswerten.

7. CPU- und Systemlast untersuchen

CPU-Übersicht

top -l 1 -o cpu

Lastmittelwerte

uptime

Die drei Load-Average-Werte beziehen sich auf unterschiedliche Zeiträume. Sie dürfen nicht direkt wie Prozentwerte interpretiert werden.

Prozessbezogene Stichprobe

sample 1234 10

Systemweite Diagnose bei Hängern

sudo spindump

spindump sammelt umfangreiche Informationen über Prozesszustände und Aufrufstapel. Die Erfassung kann kurzfristig zusätzliche Last erzeugen und sensible Informationen enthalten.

Mögliche Ursachen hoher CPU-Auslastung

Erst prüfen, welche Arbeit der Prozess ausführt und ob die Last nach Abschluss der Aufgabe wieder sinkt.


8. Datenträger, APFS und Speicherplatz

Dateisystembelegung

df -h

Nur das Startvolume:

df -h /

Verzeichnisgrößen

du -sh ~/Downloads

Unterverzeichnisse vergleichen:

du -sh ~/Library/* 2>/dev/null

Fehlende Berechtigungen oder TCC-Schutz können dazu führen, dass nicht alle Verzeichnisse gelesen werden.

Datenträgerstruktur

diskutil list

Informationen zum Startvolume

diskutil info /

APFS-Struktur

diskutil apfs list

Volume schreibgeschützt prüfen

diskutil verifyVolume /

Das Prüfen kann Zeit und Ein-/Ausgabeleistung beanspruchen. Für produktive Systeme sollte die Auswirkung vorher bewertet werden.

Festplattendienstprogramm öffnen

open -a "Disk Utility"

In der App sollte für eine vollständige Darstellung gewählt werden:

Darstellung → Alle Geräte einblenden

Dadurch werden die Ebenen sichtbar:

  1. physisches Speichergerät,
  2. Partition beziehungsweise APFS-Container,
  3. APFS-Volume,
  4. gegebenenfalls APFS-Volumegruppe.

Erste Hilfe

Apple empfiehlt, bei einer Prüfung mit dem letzten Volume eines Speichergeräts zu beginnen und anschließend nacheinander weitere Volumes, Container und zuletzt das physische Speichergerät zu prüfen.

Wichtige Grenzen

Datenträgeraktivität beobachten

iostat -w 1

Abbruch mit:

Control + C

Dateisystemzugriffe live beobachten

sudo fs_usage

Nach einem Prozess filtern:

sudo fs_usage -w -f filesystem | grep -i "prozessname"

fs_usage kann sehr viele Daten erzeugen und zusätzliche Last verursachen.

Typische Fehlerbilder

Symptom zu prüfen
Startvolume fast voll df, große Benutzerdateien, lokale Snapshots, Caches, Protokolle
Volume wird nicht aktiviert diskutil list, diskutil info, Dateisystemzustand
externes Laufwerk fehlt Systeminformationen, Kabel, Stromversorgung, USB-/Thunderbolt-Erkennung
langsame Dateizugriffe iostat, fs_usage, Synchronisation, Verschlüsselung, Datenträgerzustand
Dateien können nicht gelöscht werden Berechtigungen, Flags, erweiterte Attribute, geöffnete Dateien
Volume ist schreibgeschützt Dateisystemfehler, Bereitstellungsoptionen, Medium, Berechtigungen

9. Dateien, Berechtigungen und Attribute

macOS verwendet neben klassischen Unix-Rechten weitere Eigenschaften:

Datei ausführlich anzeigen

ls -leO@ "/Pfad/zur/Datei"

Bedeutung:

Option Anzeige
-l ausführliche Dateiinformationen
-e Access Control Lists
-O Dateiflags
-@ erweiterte Attribute

Dateimetadaten

stat "/Pfad/zur/Datei"

Erweiterte Attribute

xattr -l "/Pfad/zur/Datei"

Rekursiv anzeigen:

xattr -lr "/Pfad/zum/Ordner"

Besitz und Rechte

ls -ld "/Pfad/zum/Ordner"

Geöffnete Datei ermitteln

lsof "/Pfad/zur/Datei"

Typische Ursachen für „Operation not permitted“

Eine Berechtigungsfehlermeldung sollte nicht sofort mit chmod 777, rekursivem chown oder dem Entfernen aller Attribute beantwortet werden. Zuerst muss geklärt werden, welcher Schutzmechanismus den Zugriff verhindert.


10. Unified Logging und die App „Konsole“

macOS verwendet ein zentrales Protokollsystem, das strukturierte Meldungen, Aktivitäten und Signposts verarbeiten kann.

Konsole öffnen

open -a Console

Die App kann unter anderem anzeigen:

Wichtige Filterkriterien

Aktuelle Protokolle anzeigen

log show --last 1h --style compact

Nur Meldungen eines Prozesses:

log show --last 1h --style compact --predicate 'process == "Safari"'

Nach einem Textbestandteil suchen:

log show --last 1h --style compact --predicate 'eventMessage CONTAINS[c] "error"'

Live-Meldungen verfolgen:

log stream --style compact

Live nach Prozess filtern:

log stream --style compact --predicate 'process == "Safari"'

Nach Subsystem filtern:

log show --last 1h --style compact --predicate 'subsystem == "com.apple.network"'

Ob ein bestimmtes Subsystem tatsächlich verwendet wird, muss anhand vorhandener Ereignisse geprüft werden.

Zeitfenster gezielt festlegen

log show --start "2026-08-01 14:00:00" --end "2026-08-01 14:30:00" --style compact

Logarchiv sammeln

sudo log collect --last 1h --output ~/Desktop/SystemLogs.logarchive

Vor dem Weitergeben eines Logarchivs prüfen, ob es enthält:

Fehlinterpretationen vermeiden

Beobachtung korrekte Einordnung
Meldung enthält „error“ Kann relevant sein, beweist aber nicht automatisch die Ursache.
keine sichtbare Fehlermeldung Protokollierung kann eingeschränkt, verzögert, privat oder in einem anderen Subsystem erfolgt sein.
viele Meldungen eines Prozesses Hohe Meldungszahl ist nicht automatisch ein Fehler.
Meldung liegt zeitlich nach dem Symptom Sie kann Folge statt Ursache sein.
wiederkehrende Warnung Bedeutung muss mit Funktion, Zeitpunkt und Auswirkung abgeglichen werden.

Protokolle sollten nicht ausschließlich nach den Wörtern „error“ oder „failed“ durchsucht werden. Entscheidend sind zeitlicher Zusammenhang, betroffene Komponente und technische Bedeutung.


11. Absturz- und Diagnoseberichte

Typische benutzerbezogene Diagnoseberichte befinden sich unter:

~/Library/Logs/DiagnosticReports/

Systemweite Berichte können sich unter folgendem Pfad befinden:

/Library/Logs/DiagnosticReports/

Inhalte anzeigen:

ls -lt ~/Library/Logs/DiagnosticReports/

Nach einem Programmnamen suchen:

find ~/Library/Logs/DiagnosticReports -type f -iname "*Programmname*"

Typische Berichtstypen

Bericht mögliche Bedeutung
Crash Report Prozess wurde durch einen Fehler oder ein Signal beendet
Hang Report Anwendung reagierte über einen bestimmten Zeitraum nicht
Spin Report Prozess war aktiv, konnte aber nicht angemessen fortfahren
Panic Report schwerwiegender Kernel- oder Hardwarekontext
Jetsam-/Ressourcenbericht Prozessbeendigung oder Einschränkung aufgrund von Ressourcenbedingungen

Bei der Auswertung prüfen

Ein Funktionsname im abstürzenden Thread beweist nicht automatisch, dass genau diese Komponente die eigentliche Ursache ist.


12. Netzwerkadapter und Netzwerkkonfiguration

Alle Schnittstellen

ifconfig

Nur aktive Schnittstellen:

ifconfig -u

Hardwareports und BSD-Gerätenamen zuordnen

networksetup -listallhardwareports

Beispiel:

Hardware Port: Wi-Fi
Device: en0
Ethernet Address: aa:bb:cc:dd:ee:ff

Der Gerätename darf nicht pauschal als en0 angenommen werden. Er muss auf dem jeweiligen Mac geprüft werden.

Alle Netzwerkdienste

networksetup -listallnetworkservices

Ein Stern vor einem Netzwerkdienst bedeutet, dass dieser deaktiviert ist.

Konfiguration eines Dienstes

networksetup -getinfo "Wi-Fi"

IP-Adresse einer Schnittstelle

ipconfig getifaddr en0

en0 muss durch die tatsächlich ermittelte Schnittstelle ersetzt werden.

DHCP-Informationen

ipconfig getpacket en0

Standardroute

route -n get default

Routingtabelle

netstat -rn

Aktueller DNS-Zustand

scutil --dns

Die Ausgabe zeigt die tatsächlich von macOS verwalteten Resolver und ist für die Diagnose häufig aussagekräftiger als das alleinige Betrachten einer einzelnen DNS-Adresse in den Systemeinstellungen.

Proxykonfiguration

scutil --proxy

Netzwerkzustand beobachten

scutil --nwi

Typische Prüfreihenfolge

  1. Wird der Adapter erkannt?
  2. Ist die Schnittstelle aktiv?
  3. besitzt sie eine erwartete IP-Konfiguration?
  4. existiert eine passende Route?
  5. ist das lokale Gateway erreichbar?
  6. funktioniert die Namensauflösung?
  7. ist der Zielport erreichbar?
  8. funktioniert das Anwendungsprotokoll?
  9. beeinflussen VPN, Proxy, Filter oder Firewall die Verbindung?

13. Erreichbarkeit, DNS und Ports prüfen

IP-Erreichbarkeit

ping -c 4 192.168.1.1

Namensauflösung und Erreichbarkeit

ping -c 4 example.com

Ein fehlgeschlagener Ping beweist nicht automatisch, dass ein Host oder Dienst nicht erreichbar ist. ICMP kann gefiltert werden.

Route untersuchen

traceroute example.com

DNS-Abfrage

dig example.com

Bestimmten DNS-Server abfragen:

dig @192.168.1.1 example.com

macOS-Systemauflösung prüfen

dscacheutil -q host -a name example.com

Zielport testen

nc -vz example.com 443

UDP-Prüfungen mit nc liefern aufgrund der verbindungslosen Arbeitsweise von UDP nicht dieselbe Bestätigung wie ein erfolgreicher TCP-Verbindungsaufbau.

HTTP- und TLS-Verbindung

curl -v https://example.com/

Nur Header abrufen:

curl -I https://example.com/

Zeitwerte erfassen:

curl -o /dev/null -sS \
  -w 'DNS: %{time_namelookup}\nTCP: %{time_connect}\nTLS: %{time_appconnect}\nGesamt: %{time_total}\n' \
  https://example.com/

Lokale Listener

lsof -nP -iTCP -sTCP:LISTEN

Verbindungen eines Prozesses

lsof -nP -a -p 1234 -i

Eine erfolgreiche TCP-Verbindung bestätigt nur, dass der Verbindungsaufbau zu diesem Ziel und Port möglich war. Sie bestätigt noch keine korrekte Anmeldung, Anwendungsfunktion oder Datenverarbeitung.


14. Paketmitschnitt unter macOS

macOS enthält tcpdump.

Verfügbare Schnittstellen

sudo tcpdump -D

Verkehr einer Schnittstelle beobachten

sudo tcpdump -i en0

Ohne Namensauflösung

sudo tcpdump -nn -i en0

Nur Verkehr eines Hosts

sudo tcpdump -nn -i en0 host 192.168.1.50

Nur einen Port

sudo tcpdump -nn -i en0 port 443

In eine Datei schreiben

sudo tcpdump -nn -i en0 -w ~/Desktop/mitschnitt.pcap

Begrenzte Anzahl Pakete

sudo tcpdump -nn -i en0 -c 500 -w ~/Desktop/mitschnitt.pcap

Vor dem Mitschnitt festlegen

Paketmitschnitte können enthalten:


15. WLAN-Diagnose

Verbindungsinformationen anzeigen

Bei gedrückter Option-Taste auf das WLAN-Symbol in der Menüleiste klicken.

Je nach macOS-Version werden unter anderem angezeigt:

Diagnose für drahtlose Umgebungen

  1. Mit dem problematischen WLAN verbinden.
  2. Option-Taste gedrückt halten.
  3. WLAN-Menü öffnen.
  4. Diagnose für drahtlose Umgebungen öffnen wählen.

Apple weist darauf hin, dass die Diagnoseanalyse selbst keine Änderungen an den Netzwerkeinstellungen vornimmt.

Mögliche Diagnosebereiche

Wichtige Abgrenzung

Beobachtung Einordnung
WLAN ist verbunden bestätigt nicht automatisch Internetzugriff
starke Signalstärke bestätigt nicht automatisch geringe Störung oder hohen Durchsatz
Internet funktioniert bestätigt nicht automatisch lokale DNS-, VPN- oder Anwendungsfunktion
anderes Gerät funktioniert grenzt ein, schließt aber benutzer- oder gerätespezifische Ursachen nicht aus
Ethernet funktioniert spricht für einen WLAN-bezogenen Unterschied, beweist aber noch keine bestimmte WLAN-Ursache

16. Dienste und launchd

macOS verwendet launchd zur Verwaltung vieler System- und Benutzerdienste.

Benutzerdomäne anzeigen

launchctl print gui/$(id -u)

Systemdomäne anzeigen

sudo launchctl print system

Bestimmten Benutzerdienst untersuchen

launchctl print gui/$(id -u)/com.beispiel.dienst

Bestimmten Systemdienst untersuchen

sudo launchctl print system/com.beispiel.dienst

Der genaue Dienstbezeichner muss vorher ermittelt werden.

Typische Speicherorte

~/Library/LaunchAgents/
/Library/LaunchAgents/
/Library/LaunchDaemons/
/System/Library/LaunchAgents/
/System/Library/LaunchDaemons/

Bedeutung:

Ort typischer Zweck
~/Library/LaunchAgents benutzerspezifische Agenten
/Library/LaunchAgents zusätzliche Agenten für Benutzer
/Library/LaunchDaemons zusätzliche systemweite Daemons
/System/Library/... von macOS bereitgestellte und geschützte Dienste

Eigenschaftslistendatei prüfen

plutil -lint "/Pfad/zur/Datei.plist"

Inhalt lesbar ausgeben:

plutil -p "/Pfad/zur/Datei.plist"

Typische Fehlerursachen

Dienste sollten nicht allein aufgrund ihres unbekannten Namens deaktiviert oder gelöscht werden. Zuerst müssen Hersteller, Pfad, Signatur, Zweck und Abhängigkeiten bestimmt werden.


17. Login-Objekte und Hintergrundelemente

Grafische Verwaltung:

Systemeinstellungen → Allgemein → Anmeldeobjekte und Erweiterungen

Dort können je nach macOS-Version unter anderem sichtbar sein:

Typische Diagnose

  1. Namen und Hersteller dokumentieren.
  2. Installationspfad und Signatur prüfen.
  3. Zeitpunkt der Installation feststellen.
  4. Abhängigkeit von benötigten Anwendungen prüfen.
  5. Element testweise kontrolliert deaktivieren.
  6. Verhalten nach erneuter Anmeldung oder Neustart vergleichen.
  7. Änderung anschließend zurücknehmen oder dokumentiert beibehalten.

Der sichere Modus kann helfen festzustellen, ob eine Störung mit beim Start geladenen Softwarebestandteilen zusammenhängt. Er benennt jedoch nicht automatisch die konkrete Ursache.


18. Codesignatur und Gatekeeper prüfen

Signatur anzeigen

codesign -dv --verbose=4 "/Applications/Beispiel.app"

Die Detailausgabe erfolgt bei codesign häufig über den Fehlerausgabekanal, obwohl kein Fehler vorliegt.

Signatur verifizieren

codesign --verify --deep --strict --verbose=2 "/Applications/Beispiel.app"

Gatekeeper-Bewertung

spctl --assess --type execute --verbose=4 "/Applications/Beispiel.app"

Quarantäneattribut anzeigen

xattr -l "/Applications/Beispiel.app"

Paketinformationen

pkgutil --pkg-info "Paketkennung"

Installierte Paketkennungen durchsuchen:

pkgutil --pkgs | grep -i "hersteller"

Wichtige Einordnung


19. System- und Netzwerkerweiterungen

Moderne macOS-Versionen verwenden für viele Funktionen Systemerweiterungen statt klassischer Kernel Extensions.

Systemerweiterungen anzeigen

systemextensionsctl list

Geladene Kernelkomponenten untersuchen

kmutil showloaded

Je nach Systemversion, Architektur und Berechtigung kann die Ausgabe eingeschränkt sein.

Typische beteiligte Anwendungen

Bei Problemen prüfen

Eine Sicherheits- oder Netzwerkerweiterung darf auf Unternehmenssystemen nicht ohne Freigabe deaktiviert werden.


20. Energieverwaltung und Ruhezustand

Aktuelle Energieeinstellungen

pmset -g

Akkuzustand

pmset -g batt

Aktive Ruhezustandsverhinderungen

pmset -g assertions

Geplante Energieereignisse

pmset -g sched

Power-Management-Protokoll

pmset -g log

Die Ausgabe kann sehr umfangreich sein und sollte zeitlich gefiltert werden.

Hardwareinformationen zur Stromversorgung

system_profiler SPPowerDataType

Typische Fragestellungen

Eine hohe Akkunutzung ist nicht automatisch ein Akkudefekt. Zuerst müssen Energieverbrauch, Arbeitslast, Display, Funkverbindungen, Hintergrundprozesse und angeschlossene Geräte geprüft werden.


21. Spotlight untersuchen

Spotlight-Indizierung kann zeitweise CPU-, Datenträger- und Energieauslastung verursachen.

Status eines Volumes

mdutil -s /

Metadaten einer Datei

mdls "/Pfad/zur/Datei"

Spotlight-Suche im Terminal

mdfind "Suchbegriff"

Typische Hinweise auf Spotlight-Aktivität

Die Indizierung sollte nicht ohne bestätigte Ursache dauerhaft deaktiviert werden. Zuerst ist zu prüfen, ob es sich um eine vorübergehende und erwartete Aktivität handelt.


22. Zeit und Synchronisation

Eine falsche Systemzeit kann unter anderem verursachen:

Zeit anzeigen

date

Konfiguration des Zeitservers

sudo systemsetup -getnetworktimeserver

Netzwerkzeitstatus

sudo systemsetup -getusingnetworktime

Zeitzone

sudo systemsetup -gettimezone

Bei der Protokollauswertung müssen lokale Zeit, UTC, Zeitzone und Sommerzeit berücksichtigt werden.


23. MDM und Konfigurationsprofile

Registrierungsstatus

profiles status -type enrollment

Konfigurationsprofile anzeigen

sudo profiles show -type configuration

Verfügbarkeit, Umfang und erforderliche Rechte können von der macOS-Version und Geräteverwaltung abhängen.

Profile können beeinflussen

Eine Einstellung kann in der grafischen Oberfläche unveränderbar erscheinen, weil sie durch ein Profil oder MDM vorgegeben wird. Das ist nicht automatisch ein Bedienungs- oder Dateirechtefehler.


24. Sicherer Modus

Der sichere Modus kann helfen zu bestimmen, ob eine Störung mit Software zusammenhängt, die während des regulären Starts geladen wird.

Mac mit Apple-Chip

  1. Mac vollständig ausschalten.
  2. Ein-/Ausschalter gedrückt halten, bis die Startoptionen erscheinen.
  3. Startvolume auswählen.
  4. Umschalttaste gedrückt halten.
  5. Im gesicherten Modus fortfahren wählen.

Intel-basierter Mac

  1. Mac einschalten oder neu starten.
  2. sofort die Umschalttaste gedrückt halten.
  3. Taste beim Anmeldefenster loslassen.
  4. anmelden; gegebenenfalls ist eine zweite Anmeldung erforderlich.

Diagnostische Aussage

Ergebnis Einordnung
Fehler tritt im sicheren Modus nicht auf Hinweis auf einen Unterschied bei geladenen Komponenten, Caches oder Startobjekten
Fehler tritt weiterhin auf Drittanbieter-Startkomponenten werden weniger wahrscheinlich, aber nicht vollständig ausgeschlossen
System startet nur im sicheren Modus Startobjekte, Erweiterungen, Dateisystem oder Softwarekonflikte gezielt prüfen

Der sichere Modus ist ein Eingrenzungstest. Er identifiziert nicht automatisch die fehlerhafte Komponente.


25. Apple Diagnose

Apple Diagnose prüft bestimmte interne Hardwarekomponenten des Mac.

Apple weist ausdrücklich darauf hin, dass damit nicht geprüft werden:

Vorbereitung

  1. Mac ausschalten.
  2. nicht benötigte externe Geräte trennen.
  3. Tastatur, Maus, Display, Ethernet und Stromversorgung dürfen angeschlossen bleiben.
  4. Mac auf eine feste und gut belüftete Fläche stellen.
  5. Internetverbindung bereithalten, falls erforderlich.

Mac mit Apple-Chip

  1. Ein-/Ausschalter gedrückt halten, bis die Startoptionen erscheinen.
  2. Ein-/Ausschalter loslassen.
  3. Command-D gedrückt halten, um Apple Diagnose zu starten.

Intel-basierter Mac

  1. Mac einschalten.
  2. sofort die Taste D gedrückt halten.
  3. Taste loslassen, wenn ein Fortschrittsbalken oder die Sprachauswahl erscheint.

Ergebnis dokumentieren

Ein Ergebnis „keine Probleme gefunden“ schließt nicht alle Hardwarefehler aus. Sporadische, temperaturabhängige oder externe Fehler können unentdeckt bleiben.


26. macOS-Wiederherstellung

Die macOS-Wiederherstellung stellt eine vom normalen System getrennte Umgebung bereit.

Typische Funktionen

Mac mit Apple-Chip starten

  1. Mac vollständig ausschalten.
  2. Ein-/Ausschalter gedrückt halten, bis die Startoptionen erscheinen.
  3. Optionen wählen.
  4. Fortfahren wählen.

Intel-basierter Mac starten

Beim Einschalten sofort eine passende Tastenkombination gedrückt halten:

Kombination Zweck
Command-R integrierte macOS-Wiederherstellung
Option-Command-R Internet-Wiederherstellung mit einer kompatiblen aktuellen macOS-Version
Shift-Option-Command-R je nach Mac ursprüngliche oder nächstverfügbare Version über Internet-Wiederherstellung

Die tatsächlich angebotene Version kann vom Mac-Modell und der Verfügbarkeit abhängen.

Wiederherstellungsprotokoll

In der Wiederherstellung:

Fenster → Wiederherstellungsprotokoll

Das Protokoll kann gefiltert und in einer Datei gesichert werden.

Diagnostischer Nutzen

Eine Neuinstallation sollte nicht der erste Diagnoseschritt sein. Sie kann den fehlerhaften Zustand verändern und beseitigt keine externen Hardware-, Netzwerk-, Benutzerprofil- oder Konfigurationsursachen.


27. USB-, Thunderbolt- und externe Geräte

USB-Geräte

system_profiler SPUSBDataType

Thunderbolt- beziehungsweise USB4-Geräte

system_profiler SPThunderboltDataType

Speichergeräte

diskutil list

Offene Verbindungen während des Einsteckens beobachten

log stream --style compact

Anschließend kann nach passenden Prozessen, Subsystemen oder Meldungstexten gefiltert werden.

Kreuztests

Eingrenzung

Beobachtung mögliche Ebene
Gerät fehlt in Systeminformationen Kabel, Anschluss, Stromversorgung, Hardware
Gerät erscheint, aber nicht in der Anwendung Anwendung, Berechtigung, Treiber, Modus
Datenträger erscheint in diskutil, aber nicht im Finder Volume, Aktivierung, Finder-Einstellung, Dateisystem
Gerät funktioniert direkt, aber nicht am Hub Hub, Stromversorgung, Kabel, Kompatibilität
Gerät funktioniert nur an einem Benutzerkonto benutzerspezifische Einstellung oder Berechtigung

28. Bluetooth untersuchen

Systembericht

system_profiler SPBluetoothDataType

Zu prüfen

Das Löschen sämtlicher Kopplungen oder Einstellungsdateien ist keine geeignete Erstmaßnahme. Zuerst sollten Zustand und Umfang dokumentiert werden.


29. Druckerdiagnose

Konfigurierte Drucker

lpstat -p -d

Druckerstatus

lpstat -t

Druckaufträge

lpstat -o

CUPS-Weboberfläche

Auf aktuellen Systemen kann die Weboberfläche deaktiviert sein. Ihr Status und die organisatorischen Sicherheitsvorgaben müssen vor einer Aktivierung geprüft werden.

Typische Prüfreihenfolge

  1. Wird der Drucker lokal beziehungsweise im Netzwerk erreicht?
  2. ist die richtige Warteschlange ausgewählt?
  3. hängt ein Auftrag in der Warteschlange?
  4. stimmt Treiber beziehungsweise verwendetes Druckprotokoll?
  5. funktioniert Namensauflösung?
  6. ist der Drucker über IPP, AirPrint oder einen Printserver eingebunden?
  7. bestehen Authentifizierungs- oder Berechtigungsfehler?
  8. tritt der Fehler bei anderen Benutzern auf?

30. Systemdiagnose sammeln

macOS kann ein umfangreiches Diagnosetaket erzeugen:

sudo sysdiagnose

Der Vorgang kann mehrere Minuten dauern. Speicherort und Abschlussmeldung müssen der Terminalausgabe entnommen werden.

Ein sysdiagnose kann unter anderem enthalten:

Vor dem Einsatz beachten

sysdiagnose ist kein Ersatz für eine gezielte Hypothese. Es ist besonders sinnvoll, wenn:


31. Werkzeugwahl nach Symptom

Symptom erste geeignete Werkzeuge
Mac ist allgemein langsam Aktivitätsanzeige, top, vm_stat, memory_pressure, iostat, Speicherplatzprüfung
Anwendung reagiert nicht Aktivitätsanzeige, sample, Konsole, Diagnoseberichte
Anwendung stürzt ab Konsole, DiagnosticReports, codesign, Versions- und Erweiterungsprüfung
kein Internetzugriff networksetup, ifconfig, route, scutil --dns, ping, dig, nc, curl
WLAN instabil Option-WLAN-Menü, Diagnose für drahtlose Umgebungen, Kreuztest mit Ethernet
Port nicht erreichbar nc, lsof, curl, tcpdump
Datenträger fehlt Systeminformationen, diskutil list, Festplattendienstprogramm
Volume fast voll df, du, Festplattendienstprogramm
Datei kann nicht geöffnet werden ls -leO@, xattr, stat, TCC-, Signatur- und Eigentümerprüfung
Hintergrunddienst startet nicht launchctl print, plutil, Unified Log
hoher Energieverbrauch Aktivitätsanzeige, pmset, system_profiler SPPowerDataType
USB-Gerät funktioniert nicht Systeminformationen, USB-/Thunderbolt-Bericht, Kabel- und Direktanschlusstest
Startproblem sicherer Modus, Apple Diagnose, macOS-Wiederherstellung, Festplattendienstprogramm
Problem nur bei einem Benutzer neues Testkonto, benutzerspezifische Agenten, Einstellungen und TCC
Problem nach Softwareinstallation Login-Objekte, Systemerweiterungen, pkgutil, codesign, Protokolle

32. Praxisbeispiel: Eine Anwendung startet nicht

Symptom

Eine Anwendung beendet sich unmittelbar nach dem Start.

Sichere Untersuchung

  1. genaue Anwendungsversion erfassen,
  2. macOS-Version und Build erfassen,
  3. Zeitpunkt des Startversuchs notieren,
  4. prüfen, ob andere Benutzer betroffen sind,
  5. Anwendung aus dem Terminal oder Finder starten,
  6. Live-Protokollierung auf den Prozess filtern,
  7. Absturzbericht sichern,
  8. Signatur und Gatekeeper-Bewertung prüfen,
  9. geladene Erweiterungen und Plug-ins berücksichtigen,
  10. erst danach Konfigurationen verändern.

Beispielbefehle

sw_vers
codesign --verify --deep --strict --verbose=2 "/Applications/Beispiel.app"
spctl --assess --type execute --verbose=4 "/Applications/Beispiel.app"
log stream --style compact --predicate 'process == "Beispiel"'
ls -lt ~/Library/Logs/DiagnosticReports/

Mögliche Hypothesen

Das sofortige Löschen aller Einstellungsdateien würde den Beweiszustand verändern und kann benutzerspezifische Daten vernichten.


33. Praxisbeispiel: Netzwerk funktioniert im Browser nicht

Symptom

Webseiten werden nicht geladen.

Schrittweise Eingrenzung

networksetup -listallhardwareports
ifconfig
route -n get default
ping -c 4 192.168.1.1
scutil --dns
dig example.com
nc -vz example.com 443
curl -v https://example.com/
scutil --proxy

Bewertung

Ergebnis nächste Eingrenzung
keine IP-Adresse Link, WLAN, DHCP
IP vorhanden, keine Standardroute Netzwerkkonfiguration, DHCP, VPN
Gateway nicht erreichbar lokales Netz, VLAN, WLAN, Router
IP-Ziel erreichbar, DNS fehlschlägt Resolver, DNS-Server, VPN, Filter
DNS funktioniert, Port 443 fehlschlägt Firewall, Route, Proxy, Zielservice
curl funktioniert, Browser nicht Browserprofil, Erweiterung, Proxy, Zertifikat, TCC
Problem nur mit VPN VPN-Route, DNS, Netzwerkerweiterung, Richtlinie

34. Praxisbeispiel: Mac ist plötzlich sehr langsam

Zuerst sichern

date
uptime
top -l 1 -o cpu
memory_pressure
sysctl vm.swapusage
df -h /
iostat -w 1

Danach prüfen

Das Beenden des Prozesses mit der höchsten CPU-Auslastung ist keine vollständige Ursachenanalyse. Der Prozess kann eine notwendige Folgearbeit ausführen oder nur auf eine andere Störung reagieren.


35. Typische Fehlinterpretationen

Aussage fachliche Einordnung
„Der Arbeitsspeicher ist fast vollständig belegt.“ macOS nutzt Speicher bewusst für Anwendungen und Caches. Speicherdruck und Swap sind aussagekräftiger.
sudo müsste auf alles zugreifen können.“ TCC und SIP können den Zugriff trotz Root-Rechten begrenzen.
„Der Prozess hat die höchste CPU-Auslastung und ist daher defekt.“ Hohe Auslastung kann zur erwarteten Arbeit gehören.
„Apple Diagnose meldet keinen Fehler, also ist die Hardware sicher fehlerfrei.“ Nicht alle Hardwarefehler und keine externen Komponenten werden vollständig geprüft.
„WLAN ist verbunden, deshalb muss Internet funktionieren.“ WLAN-Verbindung, IP-Konfiguration, Routing, DNS und Internetdienst sind unterschiedliche Ebenen.
„Erste Hilfe repariert auch eine defekte SSD.“ Das Werkzeug prüft beziehungsweise repariert Dateisystemstrukturen, nicht verschlissene Hardware.
„Im Protokoll steht error; das ist die Ursache.“ Die Meldung kann erwartet, unabhängig oder eine Folge des eigentlichen Fehlers sein.
„Eine gültige Codesignatur beweist, dass die Anwendung funktioniert.“ Sie bestätigt nicht die fehlerfreie Funktion oder Kompatibilität.
„Der sichere Modus behebt die Ursache.“ Er dient vor allem als Vergleichs- und Eingrenzungstest.
„Das Gerät erscheint im Systembericht und funktioniert deshalb vollständig.“ Erkennung, Treiber, Berechtigung und Anwendungsfunktion müssen getrennt geprüft werden.
„Ein Neustart hat geholfen, also ist die Ursache beseitigt.“ Der Neustart kann nur flüchtigen Zustand zurückgesetzt haben.
ping schlägt fehl, daher ist der Server offline.“ ICMP kann blockiert sein, obwohl der eigentliche Dienst erreichbar ist.
„Das Löschen aller Einstellungen ist die schnellste Lösung.“ Dadurch können Beweise und Benutzerdaten verloren gehen, ohne die Ursache zu bestätigen.

36. Checkliste macOS-Fehleranalyse


37. Schnellreferenz

Aufgabe Werkzeug oder Befehl
macOS-Version sw_vers
Architektur uname -m
Hardwareübersicht system_profiler SPHardwareDataType
Prozessliste ps aux
Prozess suchen pgrep -afil "Name"
CPU-Auslastung top -l 1 -o cpu
Speicherdruck memory_pressure
Speicherseiten vm_stat
Swap sysctl vm.swapusage
Datenträgerstruktur diskutil list
APFS-Struktur diskutil apfs list
Dateisystembelegung df -h
Verzeichnisgröße du -sh Pfad
offene Dateien lsof
Listener lsof -nP -iTCP -sTCP:LISTEN
Netzwerkadapter networksetup -listallhardwareports
Schnittstellen ifconfig
Standardroute route -n get default
Routingtabelle netstat -rn
DNS-Zustand scutil --dns
Proxy-Zustand scutil --proxy
DNS-Abfrage dig example.com
Porttest nc -vz host port
HTTP-/TLS-Test curl -v URL
Paketmitschnitt sudo tcpdump -nn -i Schnittstelle
Protokollhistorie log show
Live-Protokoll log stream
Dienst untersuchen launchctl print
PLIST prüfen plutil -lint Datei.plist
Dateirechte und Attribute ls -leO@ Pfad
Signatur prüfen codesign --verify
Gatekeeper prüfen spctl --assess
Systemerweiterungen systemextensionsctl list
Energiezustand pmset -g
Ruhezustandsblocker pmset -g assertions
MDM-Status profiles status -type enrollment
umfangreiche Diagnose sudo sysdiagnose

Merksatz

macOS-Fehleranalyse bedeutet nicht, wahllos Einstellungen zurückzusetzen oder Schutzmechanismen zu umgehen. Zuerst werden Systemzustand, Prozesse, Ressourcen, Protokolle, Netzwerk, Datenträger und Berechtigungen getrennt untersucht. Danach wird eine konkrete Hypothese mit einer kleinen, kontrollierten und möglichst reversiblen Maßnahme geprüft.


Quellen und weiterführende Dokumentation


Revision #1
Created 1 August 2026 20:34:01 by Admin
Updated 2 August 2026 12:21:27 by Admin