在Mac OS X上相当于strace -feopen <命令>


131

这对于调试很有用(因此与编程有关)。在linux上,我们可以使用以下命令

strace -feopen python myfile.py

找出要加载的python模块和共享对象。在macOS X上是否存在等效的单行代码?

Answers:


180

我想你是说strace -fetrace=open什么?

dtruss -f -t打开python myfile.py

您好,我刚刚测试了您的strace版本(带有-fetrace = open),它给出的输出与我的示例完全相同。我期待不久后测试您的dtruss命令。感谢您及时的回复!
Setjmp

2
今天,以某种方式,sudo dtruss对我不起作用。好像根本不执行Python!
Dima Tisnek

2
@qarma须藤-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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.