Odpowiednik strace -feopen <polecenie> w systemie Mac OS X


133

Jest to przydatne do debugowania (stąd związane z programowaniem). W Linuksie możemy użyć polecenia

strace -feopen python myfile.py

aby dowiedzieć się, które moduły Pythona i współdzielone obiekty są ładowane. Czy w systemie macOS X jest odpowiednik jednej linijki?

Odpowiedzi:


183

Przypuszczam, że miałeś na myśli strace -fetrace=open?

dtruss -f -t otwórz python myfile.py

Cześć ephemient, właśnie przetestowałem twoją wersję strace (z -fetrace = open) i dała dokładnie taki sam wynik jak mój przykład. Nie mogę się doczekać, aby wkrótce przetestować twoje polecenie dtruss. Dziękuję za szybką odpowiedź!
Setjmp

2
Jakoś dzisiaj sudo dtruss nie działa dla mnie. To tak, jakby Python w ogóle nie był wykonywany!
Dima Tisnek

2
@qarma sudo-ing z powrotem może rozwiązać twój problem: serverfault.com/questions/215510/ ...
ErikR

28
dtrusswymaga uprawnień roota, ale możesz nie chcieć uruchamiać polecenia, które chcesz śledzić jako root. Zastanów sięsudo dtruss -f -t open sudo -u $USER python myfile.py
płatny kujon

8
Pojawia się błąd z komunikatem $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: ochrona integralności systemu jest włączona, niektóre funkcje nie będą dostępne`, a następniedtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
niebieski kolor
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.