ratti
Aktives Mitglied
Thread Starter
- Dabei seit
- 09.05.2004
- Beiträge
- 1.521
- Reaktionspunkte
- 56
Hallo,
auch wenn ich kein Programmierer bin, nutze ich gerne unter Linux eine Befehlskonstruktion wie "strace -e=file einprogramm". Ich habe jetzt grad nicht im Kopf, ob es wirklich -e war, jedenfalls sieht man dann schön, welche Dateien ein Programm sucht und anfasst.
Das ist sehr praktisch, weil man dann herausfindet, dass man an der falschen Configdatei schraubt, noch eine alte Library rumliegen hatte, welche Datei einem Tool fehlt, etc, usw, usf…
Unter Mac OS habe ich ktrace gefunden, aber das scheint das nicht zu können. Ich habe den Eindruck, dass es alle Dateien auflistet, die ausgeführt werden, aber keine, die gesucht, gelöscht, gelesen, angelegt (…) werden.
Beispiel: Ich habe von einem Druckertreiber nur einen Installer, möchte aber ein Paket zur Verteilung per Netz machen. Also will ich wissen, welche Dateien der Installer installiert:
Starten der installation:
ktrace -f /tmp/egal -i open ./OSX\ installer
(machen, machen, machen)
ktrace -C
Danach Auswertung. Ich weiss, dass das Programm u.a. den Ordner /Library/Frameworks/harmony.framework anlegt. Aber:
kdump -f /tmp/egal | grep 'harmony.framework'
(kommt nix)
Pustekuchen. Also, Frage: Wie kann ich die Dateisystemzugriffe eines Prozesses incl. Kindern unter Mac OS X tracen?
Danke,
Jörg
auch wenn ich kein Programmierer bin, nutze ich gerne unter Linux eine Befehlskonstruktion wie "strace -e=file einprogramm". Ich habe jetzt grad nicht im Kopf, ob es wirklich -e war, jedenfalls sieht man dann schön, welche Dateien ein Programm sucht und anfasst.
Das ist sehr praktisch, weil man dann herausfindet, dass man an der falschen Configdatei schraubt, noch eine alte Library rumliegen hatte, welche Datei einem Tool fehlt, etc, usw, usf…
Unter Mac OS habe ich ktrace gefunden, aber das scheint das nicht zu können. Ich habe den Eindruck, dass es alle Dateien auflistet, die ausgeführt werden, aber keine, die gesucht, gelöscht, gelesen, angelegt (…) werden.
Beispiel: Ich habe von einem Druckertreiber nur einen Installer, möchte aber ein Paket zur Verteilung per Netz machen. Also will ich wissen, welche Dateien der Installer installiert:
Starten der installation:
ktrace -f /tmp/egal -i open ./OSX\ installer
(machen, machen, machen)
ktrace -C
Danach Auswertung. Ich weiss, dass das Programm u.a. den Ordner /Library/Frameworks/harmony.framework anlegt. Aber:
kdump -f /tmp/egal | grep 'harmony.framework'
(kommt nix)
Pustekuchen. Also, Frage: Wie kann ich die Dateisystemzugriffe eines Prozesses incl. Kindern unter Mac OS X tracen?
Danke,
Jörg