DTrace अब विंडोज़ पर उपलब्ध है
अगले विंडोज 10 फीचर अपडेट (19H1, अप्रैल 2019 अपडेट, वर्जन 1903) में लोकप्रिय ओपन सोर्स डिबगिंग और डायग्नोस्टिक टूल DTrace के लिए सपोर्ट शामिल होगा। यह मूल रूप से सोलारिस के लिए बनाया गया है, और लिनक्स, फ्रीबीएसडी, नेटबीएसडी और मैकओएस के लिए उपलब्ध हो गया है। माइक्रोसॉफ्ट ने इसे विंडोज़ में पोर्ट किया है।
DTrace एक गतिशील अनुरेखण ढांचा है जो किसी व्यवस्थापक या डेवलपर को उपयोगकर्ता या कर्नेल मोड में सिस्टम में रीयल-टाइम देखने की अनुमति देता है। डीट्रेस में सी-स्टाइल उच्च स्तरीय और शक्तिशाली प्रोग्रामिंग भाषा है जो आपको गतिशील रूप से ट्रेस पॉइंट डालने की अनुमति देती है। इन गतिशील रूप से सम्मिलित ट्रेस बिंदुओं का उपयोग करके, आप स्थितियों या त्रुटियों पर फ़िल्टर कर सकते हैं, लॉक पैटर्न का विश्लेषण करने के लिए कोड लिख सकते हैं, गतिरोध का पता लगा सकते हैं, आदि।
विंडोज़ पर, डीटी्रेस विंडोज़ (ईटीडब्लू) के लिए इवेंट ट्रेसिंग बढ़ाता है जो स्थिर है और रनटाइम पर प्रोग्रामेटिक रूप से ट्रेस पॉइंट डालने की क्षमता प्रदान नहीं करता है।
dtrace.sys द्वारा उपयोग किए जाने वाले सभी API और कार्यक्षमता प्रलेखित कॉल हैं।
माइक्रोसॉफ्ट ने विंडोज 10 के लिए एक विशेष ड्राइवर लागू किया है जो कई सिस्टम-मॉनिटरिंग भूमिकाएं करने की अनुमति देता है। ड्राइवर को विंडोज 10 संस्करण 1903 के साथ शामिल किया जाएगा। साथ ही, DTrace को वर्तमान में Windows को कर्नेल डीबगर सक्षम के साथ प्रारंभ करने की आवश्यकता है।
पोर्टेड DTrace टूल का सोर्स कोड GitHub पर उपलब्ध है। पृष्ठ पर जाएँ "विंडोज़ पर डीट्रेसइसे देखने के लिए GitHub पर OpenDTrace प्रोजेक्ट के तहत।
Windows 10 में DTrace सेटअप करें
सुविधा का उपयोग करने के लिए आवश्यक शर्तें
- विंडोज 10 अंदरूनी सूत्र निर्माण 18342 या ऊँचा
- केवल पर उपलब्ध है 64 विंडोज़ और केवल 64-बिट प्रक्रियाओं के लिए ट्रेसिंग जानकारी कैप्चर करता है
-
विंडोज इनसाइडर प्रोग्राम है सक्षम तथा कॉन्फ़िगर किया गया वैध विंडोज इनसाइडर अकाउंट के साथ।
- विवरण के लिए सेटिंग-> अपडेट और सुरक्षा-> विंडोज इनसाइडर प्रोग्राम पर जाएं
निर्देश:
-
बीसीडी विन्यास सेट:
- bcdedit / dtrace पर सेट करें
- ध्यान दें, यदि आप एक नए इनसाइडर बिल्ड में अपग्रेड करते हैं, तो आपको bcdedit विकल्प फिर से सेट करना होगा
-
डाउनलोड और से DTrace पैकेज स्थापित करें डाउनलोड केंद्र.
- यह उपयोगकर्ता मोड घटकों, ड्राइवरों को स्थापित करता है और डीटी्रेस के कार्यात्मक होने के लिए आवश्यक मांग पैकेज पर अतिरिक्त सुविधा स्थापित करता है।
- वैकल्पिक: अपडेट करें पथ पर्यावरण चर शामिल करना सी:\प्रोग्राम फ़ाइलें\DTrace
- पथ =% पथ% सेट करें; "सी: \ प्रोग्राम फ़ाइलें \ डीटी्रेस"
- सेट अप प्रतीक पथ
- स्थानीय रूप से कैशिंग प्रतीकों के लिए एक नई निर्देशिका बनाएँ। उदाहरण: mkdir c:\symbols
- सेट _NT_SYMBOL_PATH=srv*सी:\प्रतीकों*http://msdl.microsoft.com/download/symbols
- DTrace स्वचालित रूप से प्रतीक सर्वर से आवश्यक प्रतीकों को डाउनलोड करता है और स्थानीय पथ पर कैश करता है।
-
वैकल्पिक:सेटअप कर्नेल डीबगर लक्ष्य मशीन से कनेक्शन (एमएसडीएन लिंक). यह है केवल यदि आप FBT या अन्य प्रदाताओं का उपयोग करके कर्नेल ईवेंट का पता लगाना चाहते हैं, तो आवश्यक है।
- ध्यान दें कि यदि आप कर्नेल डिबगर सेटअप करना चाहते हैं, तो आपको C:, (यदि सक्षम हो) पर सिक्योरबूट और बिटलॉकर को अक्षम करना होगा।
- रीबूट लक्ष्य मशीन
डीट्रेस का उपयोग करना
- एक खोलें उन्नत कमांड प्रॉम्प्ट.
- निम्न आदेशों में से एक निष्पादित करें:
# 5 सेकंड के लिए प्रोग्राम द्वारा सिस्कल सारांश: dtrace -Fn "tick-5sec {exit (0);} syscallentry{ @num[pid, execname] = count();}" # 3 के लिए टाइमर सेट/कैंसल प्रोग्राम को सारांशित करें सेकंड: dtrace -Fn "tick-3sec {exit (0);} syscall:: Nt*Timer*: entry {@[probefunc, execname, pid] = count();}" # डंप सिस्टम प्रोसेस कर्नेल संरचना: (आवश्यक है करने के लिए प्रतीक पथ सेट होना) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Notepad.exe चलाते समय NTFS के माध्यम से ट्रेसिंग पथ (KD a की आवश्यकता होती है)
आदेश dtrace -lvn syscall syscall प्रदाता से उपलब्ध सभी जांच और उनके पैरामीटर को सूचीबद्ध करेगा।
विंडोज़ पर उपलब्ध कुछ प्रदाता निम्नलिखित हैं और वे क्या साधन हैं।
- सिस्कल - एनटीओएस सिस्टम कॉल
- एफबीटी (फंक्शन बाउंड्री ट्रेसिंग) - कर्नेल फंक्शन एंट्री और रिटर्न
- पीआईडी - यूजर-मोड प्रोसेस ट्रेसिंग। कर्नेल-मोड FBT की तरह, लेकिन मनमाने ढंग से फ़ंक्शन ऑफ़सेट के इंस्ट्रूमेंटेशन की भी अनुमति देता है।
-
वगैरह (विंडोज के लिए इवेंट ट्रेसिंग) - ETW के लिए जांच को परिभाषित करने की अनुमति देता है यह प्रदाता DTrace में मौजूदा ऑपरेटिंग सिस्टम इंस्ट्रूमेंटेशन का लाभ उठाने में मदद करता है।
- यह एक अतिरिक्त है जो हमने DTrace के साथ किया है ताकि इसे विंडोज़ में पहले से प्रदान की जाने वाली सभी जानकारी को उजागर करने और प्राप्त करने की अनुमति मिल सके ETW.
विंडोज परिदृश्यों के लिए लागू अधिक नमूना स्क्रिप्ट इसमें मिल सकती हैं नमूने निर्देशिका.
स्रोत: माइक्रोसॉफ्ट