2011-03-06 18 views
8

कैसे काम कर रहे हैं प्रणाली आम तौर पर डिबग? वे साधारण सांत्वना कार्यक्रमों की तरह एक डिबगर के साथ के माध्यम से कदम रखा नहीं जा सकता, और निर्माण के समय बहुत बड़ी बार-बार छोटे बदलाव करने और पूरी बात पुन: संयोजित करने के लिए कर रहे हैं।ऑपरेटिंग सिस्टम कैसे डिबग किए गए हैं?

उत्तर

6

वे एक मल्टी-गीगाबाइट कार्यक्रमों के रूप में डिबग नहीं कर रहे हैं! :)

यदि आपका मतलब व्यक्तिगत उपयोगकर्ता-मोड घटक है, तो उन्हें मुख्य रूप से सामान्य कार्यक्रमों और पुस्तकालयों की तरह डीबग किया जा सकता है (क्योंकि वे सामान्य प्रोग्राम/पुस्तकालय हैं!)।

कर्नेल-मोड घटक के लिए, हालांकि, प्रत्येक ओएस का अपना तंत्र है; here इस बारे में कुछ जानकारी है कि हम विंडोज़ में कर्नेल डीबगिंग करते हैं। यह एक सीरियल पोर्ट या किसी चीज़ के माध्यम से मशीन को डिबग करने वाली मशीन से जुड़ी दूसरी मशीन की मदद से किया जा सकता है। मैं प्रक्रिया से परिचित नहीं हूं, लेकिन यह काम करता है कि वे कैसे काम करते हैं। (आप कुछ बूट लोडर विकल्प सेट करने के लिए इतना है कि प्रणाली के लिए तैयार है डिबगर को जल्द से जल्द जुड़े होने की आवश्यकता नहीं है।)

5

यह ऑपरेटिंग सिस्टम के बारे में आप बात कर रहे हैं का हिस्सा है जिस पर निर्भर करता है। जब मैंने एमएसएफटी में काम किया, तो मैंने आईई टीम पर काम किया। हमने विजुअल स्टूडियो में आईई और खोल (विंडोज एक्सप्लोरर) को डीबग किया और पूरे दिन लाइन के माध्यम से लाइन के माध्यम से कदम रखा। हालांकि, कभी-कभी, command line tool जैसे एनटीएसडी का उपयोग करके डीबग करना आसान होता है।

यदि, हालांकि, आप कर्नेल भूमि जैसे ओएस कर्नेल या डिवाइस ड्राइवरों में कुछ भी डीबग करना चाहते हैं, जो मुझे संदेह है कि आप वास्तव में क्या पूछ रहे हैं, तो आपको कर्नेल डीबगर का उपयोग करना होगा। विंडोज के लिए जो कमांड लाइन उपकरण है जिसे केडी कहा जाता है, और आम तौर पर आप एक मशीन पर डीबगर चलाते हैं और लक्ष्य को दूरस्थ रूप से डीबग करते हैं।

1

कंसोल पर चमकती रोशनी से, आईसीई जैसे हार्डवेयर उपकरणों के उपयोग के लिए, पूरे मानक तकनीकों का उपयोग करने वाली अधिक आधुनिक तकनीकों के लिए पूरे इतिहास में तकनीकों का एक पूरा सेट है। एक तकनीक जो ओएस डेवलपर्स के बीच अधिक आम है तो एप्लिकेशन डेवलपर्स कोर डंप का विश्लेषण है। Solaris कर्नेल डेवलपर्स अपने कुछ डिबगिंग कैसे करते हैं, इस बारे में विचारों के लिए सौरलिस पर एमडीबी की तरह कुछ देखें। ट्रेसिंग प्रौद्योगिकियों का भी उपयोग किया जाता है। कहीं भी सीधे सीधा लॉगिंग पैकेज से अधिक आधुनिक तकनीकों जैसे dtrace से।

भी ध्यान रखें कि इस्तेमाल तकनीक सॉफ्टवेयर के स्तर पर निर्भर करते हैं। प्रारंभिक बूट आपकी उंगलियों को पाने के लिए काफी कठिन जगह बनता है। लेकिन उसके बाद आधुनिक ऑपरेशन सिस्टम का वातावरण आपके द्वारा उपयोग की जाने वाली एप्लिकेशन सेटिंग की तरह अधिक से अधिक दिखता है। अंत में, यह सभी कोड है :)

संबंधित मुद्दे