बनाने के आदेशों का आह्वान किया गया है क्या आदेशों को लॉग करने का कोई तरीका है, प्रोग्राम को संकलित करने के लिए आमंत्रण करें? मुझे पैरामीटर -n
और -p
के बारे में पता है, लेकिन वे या तो शर्तों को हल नहीं करते हैं, लेकिन बस उन्हें प्रिंट करें। या वे मेकफ़ाइल में 'मेक' करने के लिए कॉल करते समय काम नहीं करते हैं।लॉग
लॉग
उत्तर
SparkBuild द्वारा उत्पादित एनोटेटेड बिल्ड लॉग में आप जो खोज रहे हैं उसे मिल सकता है। इसमें कमांड लाइन को प्रिंट करने से रोकने के लिए "@" का निर्माण किया गया था या नहीं, निर्माण में निष्पादित हर नियम के आदेश शामिल हैं।
यदि शर्तों के बारे में आपकी टिप्पणी थोड़ा उलझन में है, तो क्या आप शैल संरचनाओं के बारे में बात कर रहे हैं, या संरचना बना रहे हैं? यदि आप खोल संरचनाओं का मतलब है, तो मुझे नहीं लगता कि आपके द्वारा वर्णित अन्य लोगों के रूप में स्ट्रेस का उपयोग करके छोड़ने के बाद आप क्या कर रहे हैं। यदि आपका मतलब है संरचनाएं बनाना, तो आउटपुट जो आप देखते हैं हल की गई सशर्त अभिव्यक्ति का परिणाम है।
क्या आपने -d पैरामीटर (डीबग) के साथ प्रयास किया है?
ध्यान दें कि आप इसके बजाय --debug के साथ infos की मात्रा को नियंत्रित कर सकते हैं। उदाहरण के लिए, --debug = एक (-d के रूप में ही), या --debug = केवल बुनियादी infos दिखाने के लिए ख ...
किसी फ़ाइल में stdout को पुनर्निर्देशित करने के लिए नहीं भूलना, -d बहुत सारी जानकारी बहुत तेज़ी से उत्पन्न करता है। –
आप के साथ strace
strace -f -e execve make ...
यह एक अच्छा उपकरण है। अभी तक इसके बारे में नहीं सुना था। लेकिन यह बहुत सारे उत्पादन का उत्पादन करता है, मुझे इस मामले में आवश्यकता नहीं है। – Customizer
स्ट्रेस सभी सिस्टम कॉलों का पता लगाने के लिए एक उपकरण है (मेरे उदाहरण में केवल execv तक ही सीमित है), इसलिए हां यह संभवतः आपको न्यूनतम से अधिक प्रदान करेगा जो आप खोज रहे हैं (विशेष रूप से यह सभी आदेश (असफल) से एक आदेश निष्पादित करने के प्रयासों को प्रिंट करेगा सभी $ पाथ निर्देशिका)। – hlovdal
मेक execve
कॉल लॉग इन करने की कोशिश कर सकते लिखते हैं हर कमांड यह कंसोल के लिए निष्पादित करता है, तो
make 2>&1 | tee build.log
जो स्क्रीन को लिखे एक ही सामान शामिल एक पक्ष प्रभाव के रूप में नामित किया गया build.log
एक लॉग फ़ाइल का निर्माण करेगा। (man tee
अधिक जानकारी के लिए।)
2>&1
मानक आउटपुट और त्रुटियों को एक स्ट्रीम में जोड़ती है। यदि आपने इसे शामिल नहीं किया है, तो नियमित आउटपुट लॉग फ़ाइल में जाएगा लेकिन त्रुटियां केवल कंसोल पर जाएंगी। (make
केवल stderr करने के लिए लिखता है जब एक कमांड एक त्रुटि कोड देता है।)
आप पूरी तरह से एक फाइल करने के लिए प्रवेश के पक्ष में उत्पादन को दबाने के लिए चाहते हैं, तो यह और भी आसान है:
make 2>&1 > build.log
क्योंकि ये सिर्फ सांत्वना पर कब्जा उत्पादन वे रिकर्सिव make
के साथ ठीक काम करते हैं।
दुर्भाग्य से @ (चुप निष्पादन) के साथ उपसर्ग किए गए कमांड इस लॉग में शामिल नहीं हैं। –
यह
make SHELL="sh -x"
खोल यह क्या कर रहा है के बारे में जानकारी मुद्रित करने के लिए है, जिससे आप देखते हैं कि कैसे खोल आदेशों में किसी भी सशर्त मूल्यांकन किया जा रहा है (जो खोल निर्माणों का मूल्यांकन करने का आह्वान कर रहे हैं) के कारण होगा।
यह एक उपयोगी उत्तर है – tonylo
- 1. लॉग
- 2. लॉग
- 3. लॉग
- 4. 'लॉग'
- 5. matplotlib: एक लॉग-लॉग साजिश
- 6. Django लॉग घूर्णन और लॉग फ़ाइल स्वामित्व लॉग
- 7. लॉग 4j2 लॉग हाइबरनेट पैरामीटर बाध्यकारी
- 8. लॉग 4Net लॉग स्तर को कॉन्फ़िगर करना
- 9. गिट लॉग: भविष्य के संशोधन का लॉग
- 10. विंडोज इवेंट लॉग बनाम टेक्स्ट लॉग
- 11. लिनक्स-जावा लॉग लॉग 4j या logrotate.d
- 12. लेनदेन लॉग
- 13. लॉग 4j
- 14. लॉग 4Net
- 15. पुनर्लेखन लॉग
- 16. गिट लॉग
- 17. लॉग एंबोरिदम
- 18. लॉग 4net
- 19. अपाचे लॉग
- 20. लॉग 4j
- 21. लॉग 4j
- 22. लॉग 4Net
- 23. लॉग इन
- 24. लॉग 4j
- 25. Capybara: लॉग
- 26. लॉग त्रुटि
- 27. लॉग 4net
- 28. डीबग लॉग
- 29. लॉग 4j
- 30. लॉग 4net
वे शैल संरचनाएं प्रतीत होते हैं।लेकिन मुझे नहीं पता, मेकफ़ाइल में शैल संरचनाओं का उपयोग क्यों करना चाहते हैं, जब आप मेकफ़ाइल संरचनाओं का उपयोग कर सकते हैं। क्या वे किसी तरह से बेहतर हैं? – Customizer
मैं स्पार्कबिल्ड दिलचस्प लग रहा है। मैं निश्चित रूप से इस पर ध्यान रखूंगा। – Customizer
बनाम संरचना बनाम बनाम संरचनाओं का सवाल उस पर निर्भर करता है जो आप करने की कोशिश कर रहे हैं। एक बात के लिए, ऐसी चीजें हैं जो आप शैल संरचनाओं के साथ कर सकते हैं जिन्हें आप बनाने के साथ नहीं कर सकते हैं, जैसे परीक्षण करना कि फ़ाइल पठनीय या निष्पादन योग्य है। दूसरे के लिए, नियमों के शरीर में अन्य आदेशों के संबंध में उनका अलग-अलग मूल्यांकन किया जाता है: किसी भी आदेश को वास्तव में निष्पादित करने से पहले संरचनाओं का मूल्यांकन किया जाता है, लेकिन शेल संरचनाओं का मूल्यांकन सीटू में किया जाएगा क्योंकि आदेश निष्पादित किए जाते हैं। –