Windows Tips & News

विंडोज़ पर DTrace को ARM64 सपोर्ट के साथ अपने 20H1 अपडेट मिलते हैं

click fraud protection

DTrace लोकप्रिय ओपन सोर्स डिबगिंग और डायग्नोस्टिक टूल है। यह मूल रूप से सोलारिस के लिए बनाया गया है, और लिनक्स, फ्रीबीएसडी, नेटबीएसडी और मैकओएस के लिए उपलब्ध हो गया है। माइक्रोसॉफ्ट ने इसे विंडोज़ में पोर्ट किया है, और इसमें 20H1 फीचर अपडेट के साथ अपडेट का एक हिस्सा जोड़ता है।

DTrace एक गतिशील अनुरेखण ढांचा है जो किसी व्यवस्थापक या डेवलपर को उपयोगकर्ता या कर्नेल मोड में सिस्टम में रीयल-टाइम देखने की अनुमति देता है। डीट्रेस में सी-स्टाइल उच्च स्तरीय और शक्तिशाली प्रोग्रामिंग भाषा है जो आपको गतिशील रूप से ट्रेस पॉइंट डालने की अनुमति देती है। इन गतिशील रूप से सम्मिलित ट्रेस बिंदुओं का उपयोग करके, आप स्थितियों या त्रुटियों पर फ़िल्टर कर सकते हैं, लॉक पैटर्न का विश्लेषण करने के लिए कोड लिख सकते हैं, गतिरोध का पता लगा सकते हैं, आदि।

विंडोज़ पर, डीटी्रेस विंडोज़ (ईटीडब्लू) के लिए इवेंट ट्रेसिंग बढ़ाता है जो स्थिर है और रनटाइम पर प्रोग्रामेटिक रूप से ट्रेस पॉइंट डालने की क्षमता प्रदान नहीं करता है।

dtrace.sys द्वारा उपयोग किए जाने वाले सभी API और कार्यक्षमता प्रलेखित कॉल हैं।

माइक्रोसॉफ्ट ने विंडोज 10 के लिए एक विशेष ड्राइवर लागू किया है जो कई सिस्टम-मॉनिटरिंग भूमिकाएं करने की अनुमति देता है। ड्राइवर विंडोज 10 में बनाया गया है जो 1903 के संस्करण में शुरू हो रहा है।

विंडोज 10 इनसाइडर बिल्ड 19041.21 से शुरू होकर, DTrace निम्नलिखित सुधारों के साथ आता है।

ARM64 पूर्वावलोकन

हाँ य़ह सही हैं! DTrace अब पूर्वावलोकन मोड में ARM64 का समर्थन करता है। ARM64 MSI ऊपर सूचीबद्ध डाउनलोड लिंक में उपलब्ध है।

आप इसे अपने पर इस्तेमाल कर सकते हैं भूतल प्रो एक्स नवीनतम विंडोज 10 इनसाइडर प्रीव्यू (20H1) बिल्ड को चलाना, इसके साथ शुरू करना 19041.21.

सरफेस प्रो एक्स पर डीट्रेस

उपयोगकर्ता मोड स्टैकवॉक

पूर्वावलोकन में, DTrace में स्टैकवॉक सुविधा कर्नेल मोड (स्टैक) तक सीमित थी। यह अद्यतन यूजरमोड स्टैकवॉक सुविधा के लिए समर्थन जोड़ता है (उस्टैक)। स्टैक की तरह, ustack सुविधा ओपन सोर्स DTrace विनिर्देश के साथ पूरी तरह से संगत है। फ्रेम (गहराई) और आकार (अभी के लिए अनदेखा) या शून्य निर्दिष्ट करके इसे तीन तरीकों से लागू किया जा सकता है।

  • उसस्टैक (एनफ्रेम, आकार)
  • उसस्टैक (एनफ्रेम)
  • उसस्टैक ()

जबकि ustack () जांच के शुरू होने पर कॉलिंग फ्रेम का पता निर्धारित कर सकता है, स्टैक फ्रेम करेगा प्रतीकों में तब तक अनुवादित नहीं किया जाएगा जब तक कि यूस्टैक () क्रिया को DTrace उपभोक्ता द्वारा उपयोगकर्ता-मोड पर संसाधित नहीं किया जाता है। प्रतीक डाउनलोड आउटपुट को धीमा कर सकता है। इसलिए, नीचे दिए गए स्थानीय कैश्ड प्रतीकों के साथ इस सुविधा का उपयोग करना बेहतर है।

dtrace -n "प्रोफाइल-1ms /arg1/ {ustack (50, 0)); बाहर निकलें (0);} " -y C:\symbols. dtrace: विवरण 'प्रोफाइल-1ms' 1 जांच से मेल खाता है। सीपीयू आईडी फ़ंक्शन: NAME 0 3802: प्रोफ़ाइल-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

लाइव डंप समर्थन

विंडोज आमतौर पर कुछ का उपयोग करता है जिसे कहा जाता है लाइव डंप मुद्दों का शीघ्र निदान करने में मदद करने के लिए। लाइव डंप बिना डाउनटाइम के कई प्रक्रियाओं या सिस्टम वाइड मुद्दों को शामिल करने वाली समस्याओं के निवारण में मदद करते हैं। 20H1 में, विंडोज़ पर डीट्रेस का उपयोग डी-स्क्रिप्ट के अंदर से लाइव डंप को कैप्चर करने के लिए किया जा सकता है एलकेडी () डीट्रेस सुविधा। इस सुविधा का एक सामान्य उपयोग का मामला उपकरण त्रुटि पथ (जैसे रिटर्न कोड एक विफलता को इंगित करता है) और उन्नत निदान के लिए विफलता बिंदु पर एक लाइव डंप को कैप्चर करना है। लाइव डंप समर्थन के बारे में अधिक जानकारी के लिए देखें डीट्रेस लाइव डंप.

dtrace -wn "syscallreturn { अगर (arg0 != 0xc0000001UL) { lkd (0); प्रिंटफ (\ "लाइव डंप को ट्रिगर करना \ n \"); बाहर निकलें (0); }}" dtrace: विवरण 'syscallreturn' 1411 जांच से मेल खाता है। dtrace: विनाशकारी क्रियाओं की अनुमति देना। CPU ID फ़ंक्शन: NAME 0 181 NtDeviceIoControlFile: रिटर्न ट्रिगरिंग लाइव डंप dir c:\Windows\LiveKernelReports ड्राइव C में वॉल्यूम का कोई लेबल नहीं है। वॉल्यूम सीरियल नंबर 70F4-B9F6 c:\Windows\LiveKernelReports 11/05/2019 05:20 PM की निर्देशिका है<डिर>. 11/05/2019 05:20 अपराह्न <डिर>.. 11/05/2019 05:19 अपराह्न <डिर> डीटीआरएसीई। 11/05/2019 05:20 अपराह्न 53,395,456 DTRACE-20191105-1720.dmp। 

ETW अनुरेखण

ETW अनुरेखण विंडोज़ पर डिबगिंग के लिए सबसे अधिक इस्तेमाल किया जाने वाला टूल है। विंडोज 19H1 पूर्वावलोकन पर DTrace में, हमने ट्रेसलॉग्ड और मेनिफ़ेस्ट इवेंट का उपयोग करके इंस्ट्रूमेंटिंग के लिए समर्थन जोड़ा ETW प्रदाता.

20H1 में, हमने डी-स्क्रिप्ट के अंदर से नई ETW ईवेंट बनाने के लिए इस सुविधा को और बढ़ाया है ETW_ट्रेस () सुविधा। यह उन स्थितियों में मदद करता है जहां मौजूदा ETW इवेंट अपर्याप्त हैं और आप प्रोडक्शन कोड को संशोधित किए बिना अतिरिक्त ETW ट्रेस पॉइंट जोड़ना चाहेंगे।

के बारे में अधिक जानकारी के लिए ETW_ट्रेस सुविधा और ETW प्रदाता, देख डीटी्रेस ईटीडब्ल्यू.

/* नोड मेमोरी इंफो इवेंट को प्रिंट करने के लिए GitHub ETW प्रदाता नमूना (नीचे लिंक) चला रहा है। https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d विभाजन आईडी: 0. गणना: 1. नोड संख्या: 1. m_nodeinfo { uint64_t TotalPageCount = 0x1fb558 uint64_t SmallFreePageCount = 0x41 uint64_t SmallZeroPageCount = 0 uint64_t MediumFreePageCount = 0 uint64_t मध्यमZeroPageCount = 0 uint64_t लार्जफ्रीपेजकाउंट = 0 uint64_t लार्जज़ीरोपेजकाउंट = 0 uint64_t विशालफ्रीपेजकाउंट = 0 uint64_t विशाल ज़ीरोपेजकाउंट = 0। }

यदि आप DTrace स्थापित करने में रुचि रखते हैं, तो देखें कि यह कैसे किया जा सकता है यहां.

आप अद्यतन DTrace MSI पैकेज डाउनलोड कर सकते हैं यहाँ से.

यहाँ यह है सोर्स कोड तथा उन्नत स्क्रिप्ट.

स्रोत

लिनक्स टर्मिनल में फाइलें कैसे खोजें

लिनक्स टर्मिनल में फाइलें कैसे खोजें

लिनक्स, आपके द्वारा उपयोग किए जाने वाले डिस्ट्रो की परवाह किए बिना, कई GUI टूल के साथ आता है जो फ...

अधिक पढ़ें

विंडोज़ 10 बिल्ड 14393.1797 अभिलेखागार

जब आप वेबसाइट पर नेविगेट करते हैं तो यह वेबसाइट आपके अनुभव को बेहतर बनाने के लिए कुकीज़ का उपयोग ...

अधिक पढ़ें

विंडोज 10 बिल्ड 15063.675 अभिलेखागार

जब आप वेबसाइट पर नेविगेट करते हैं तो यह वेबसाइट आपके अनुभव को बेहतर बनाने के लिए कुकीज़ का उपयोग ...

अधिक पढ़ें