मैक ओएस एक्स पर स्ट्रेस -feopen <कमांड> के बराबर


131

यह डिबगिंग (इसलिए प्रोग्रामिंग संबंधित) के लिए उपयोगी है। लिनक्स पर, हम कमांड का उपयोग कर सकते हैं

strace -feopen python myfile.py

पता लगाने के लिए कि कौन से अजगर मॉड्यूल और साझा किए गए ऑब्जेक्ट लोड किए गए हैं। वहाँ macOS एक्स पर एक समकक्ष एक लाइनर है?

जवाबों:


180

मुझे लगता है तुम मतलब है strace -fetrace=open?

dtruss -f -t open python myfile.py

हाय इफिशिएंट, मैंने सिर्फ स्ट्रेस के आपके संस्करण का परीक्षण किया (-फेट्रेस = ओपन) और इसने मेरे उदाहरण के अनुसार बिल्कुल समान रूप दिया। मैं शीघ्र ही आपके dtruss कमांड का परीक्षण करने के लिए उत्सुक हूं। शीघ्र जवाब देने के लिए ध्न्यवाद!
सेटजम्प

2
किसी तरह, आज, sudo dtruss मेरे लिए काम नहीं करता है। यह ऐसा है जैसे कि पायथन को अंजाम नहीं दिया गया हो!
दीमा टिस्नेक

2
@qarma sudo-ing back back आपकी समस्या का समाधान कर सकता है: serverfault.com/questions/215510/…
ErikR

27
dtrussरूट विशेषाधिकारों की आवश्यकता होती है, लेकिन आप जिस रूट के रूप में ट्रेस करना चाहते हैं, वह कमांड चलाना नहीं चाहते हैं। गौर कीजिएsudo dtruss -f -t open sudo -u $USER python myfile.py
एक भुगतान किया गया बेवकूफ

7
के साथ एक त्रुटि हो रही है $ sudo dtruss -f -t open sudo -u $USER python: `dtrace: प्रणाली अखंडता संरक्षण पर है, कुछ सुविधाओं available` नहीं किया जाएगा और उसके बादdtrace: failed to execute sudo: dtrace cannot control executables signed with restricted entitlements
blueyed
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.