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


132

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

strace -feopen python myfile.py

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

Ответы:


181

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

dtruss -f -t открыть python myfile.py

Привет, 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.