Еквівалент strace -feopen <команда> на mac os X


131

Це корисно для налагодження (звідси пов'язане програмування). У Linux ми можемо використовувати команду

strace -feopen python myfile.py

щоб з'ясувати, які модулі python і спільні об'єкти завантажені. Чи є еквівалентний однолінійний на macOS X?

Відповіді:


180

Я гадаю, ти мав на увазі strace -fetrace=open?

dtruss -f -t відкритий python myfile.py

Привіт ефемієнт, я щойно перевірив вашу версію strace (with -fetrace = open), і вона дала абсолютно такий самий результат, як і мій приклад. Я з нетерпінням чекаю тестування вашої команди dtruss найближчим часом. Дякуємо за швидку відповідь!
Setjmp

2
Якось, сьогодні, sudo dtruss не працює для мене. Це так, ніби Python взагалі не виконується!
Діма Тиснек

2
@qarma sudo-ing знову може вирішити вашу проблему: 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
синій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.