Entspricht strace -feopen <Befehl> auf Mac OS X.


131

Dies ist nützlich für das Debuggen (daher programmierbezogen). Unter Linux können wir den Befehl verwenden

strace -feopen python myfile.py

um herauszufinden, welche Python-Module und freigegebenen Objekte geladen werden. Gibt es unter macOS X einen gleichwertigen Einzeiler?

Antworten:


180

Ich nehme an, du meintest strace -fetrace=open?

dtruss -f -t öffne python myfile.py

Hallo Ephemient, ich habe gerade Ihre Version von strace getestet (mit -fetrace = open) und es gab genau das gleiche Ergebnis wie in meinem Beispiel. Ich freue mich darauf, Ihren Befehl dtruss in Kürze zu testen. Danke für die schnelle Antwort!
Setjmp

2
Irgendwie funktioniert sudo dtruss heute bei mir nicht mehr. Es ist, als ob Python überhaupt nicht ausgeführt wird!
Dima Tisnek

2
@qarma sudo-ing wieder zurück könnte Ihr Problem lösen: serverfault.com/questions/215510/…
ErikR

27
dtrusserfordert Root-Rechte, aber Sie möchten den Befehl, den Sie als root verfolgen möchten, möglicherweise nicht ausführen. Betrachten Siesudo dtruss -f -t open sudo -u $USER python myfile.py
ein bezahlter Nerd

7
Es wird ein Fehler $ sudo dtruss -f -t open sudo -u $USER pythonangezeigt mit : "dtrace: Systemintegritätsschutz ist aktiviert, einige Funktionen sind nicht verfügbar" und danndtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
blau
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.