Equivalente de strace -feopen <comando> en mac os X

131

Esto es útil para la depuración (por lo tanto, relacionada con la programación). En Linux, podemos usar el comando

strace -feopen python myfile.py

para averiguar qué módulos de Python y objetos compartidos se cargan. ¿Hay un one-liner equivalente en macOS X?

Setjmp
fuente

Respuestas:

180

Supongo que quisiste decir strace -fetrace=open?

dtruss -f -t abrir python myfile.py
efímero
fuente
Hola, efímero, acabo de probar tu versión de strace (con -fetrace = open) y me dio exactamente la misma salida que en mi ejemplo. Espero probar su comando dtruss en breve. ¡Gracias por la rápida respuesta!
Setjmp
2
De alguna manera, hoy, sudo dtruss no funciona para mí. ¡Es como si Python no se ejecutara en absoluto!
Dima Tisnek
2
@qarma sudo-back nuevamente podría resolver su problema: serverfault.com/questions/215510/…
ErikR
27
dtrussrequiere privilegios de root, pero es posible que no desee ejecutar el comando que desea rastrear como root. Consideresudo dtruss -f -t open sudo -u $USER python myfile.py
un nerd pagado el
77
Obteniendo un error con $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: la protección de integridad del sistema está activada, algunas características no estarán disponibles` y luegodtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
azulada