Setara dengan strace -feopen <command> pada mac os X

131

Ini berguna untuk debugging (karena itu terkait pemrograman). Di linux, kita bisa menggunakan perintah

strace -feopen python myfile.py

untuk mencari tahu modul python dan objek bersama mana yang dimuat. Apakah ada one-liner yang setara pada macOS X?

Setjmp
sumber

Jawaban:

180

Saya kira maksud Anda strace -fetrace=open?

dtruss -f -t buka python myfile.py
singkat
sumber
Hai ephemient, saya baru saja menguji versi strace Anda (dengan -fetrace = open) dan itu memberikan keluaran yang sama persis dengan contoh saya. Saya berharap dapat segera menguji perintah dtruss Anda. Terima kasih atas tanggapan cepatnya!
Setjmp
2
Entah bagaimana, hari ini, sudo dtruss tidak bekerja untukku. Seolah-olah Python tidak dieksekusi sama sekali!
Dima Tisnek
2
@qarma sudo-ing kembali lagi mungkin menyelesaikan masalah Anda: serverfault.com/questions/215510/…
ErikR
27
dtrussmembutuhkan hak akses root, tetapi Anda mungkin tidak ingin menjalankan perintah yang ingin Anda lacak sebagai root. Pertimbangkansudo dtruss -f -t open sudo -u $USER python myfile.py
kutu buku yang dibayar
7
Mendapatkan kesalahan dengan $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: perlindungan integritas sistem aktif, beberapa fitur tidak akan tersedia` dan kemudiandtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
blueyed