Эквивалент strace -feopen <command> в mac os X

132

Это полезно для отладки (следовательно, связано с программированием). В Linux мы можем использовать команду

strace -feopen python myfile.py

чтобы выяснить, какие модули Python и общие объекты загружены. Есть ли в macOS X аналогичный однострочник?

Setjmp
источник

Ответы:

181

Я полагаю, вы имели в виду strace -fetrace=open?

dtruss -f -t открыть python myfile.py
ephemient
источник
Привет, ephemient, я только что протестировал вашу версию strace (с -fetrace = open), и она дала точно такой же результат, как и мой пример. Я с нетерпением жду возможности протестировать вашу команду dtruss в ближайшее время. Спасибо за быстрый ответ!
Setjmp
2
Почему-то сегодня у меня не работает sudo dtruss. Как будто Python вообще не запускается!
Дима Тиснек
2
@qarma sudo-ing back again может решить вашу проблему: serverfault.com/questions/215510/…
ErikR
27
dtrussтребуются привилегии root, но вы, возможно, не захотите запускать команду, которую хотите отслеживать, как root. Подумайтеsudo dtruss -f -t open sudo -u $USER python myfile.py
оплачиваемый ботаник
7
Получение ошибки с $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: защита целостности системы включена, некоторые функции будут недоступны`, а затемdtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
blueyed