Équivalent de strace -feopen <commande> sur mac OS X


132

Ceci est utile pour le débogage (donc lié à la programmation). Sous Linux, nous pouvons utiliser la commande

strace -feopen python myfile.py

pour déterminer quels modules Python et objets partagés sont chargés. Existe-t-il un one-liner équivalent sur macOS X?

Réponses:


181

Je suppose que vous vouliez dire strace -fetrace=open?

dtruss -f -t ouvre python myfile.py

Salut éphémient, je viens de tester votre version de strace (avec -fetrace = open) et il a donné exactement le même résultat que mon exemple. J'ai hâte de tester votre commande dtruss sous peu. Merci pour la réponse rapide!
Setjmp

2
D'une manière ou d'une autre, aujourd'hui, sudo dtruss ne fonctionne pas pour moi. C'est comme si Python n'était pas du tout exécuté!
Dima Tisnek

2
@qarma sudo-ing back again pourrait résoudre votre problème: serverfault.com/questions/215510/…
ErikR

27
dtrussnécessite des privilèges root, mais vous ne voudrez peut-être pas exécuter la commande que vous souhaitez tracer en tant que root. Considérezsudo dtruss -f -t open sudo -u $USER python myfile.py
un nerd payé

7
Obtenir une erreur avec $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: la protection de l'intégrité du système est activée, certaines fonctionnalités ne seront pas disponibles` et ensuitedtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
bleu le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.