ऊपर क्या है ?!
नमस्कार। मैं इसे प्यार करता हूँ जब कोई कहता है;
"[...] इसे कैसे डीबग करना है?"
मेरे पास वास्तव में विंडोज 8 सेटअप की स्थापना नहीं है, और मैंने विंडोज 8 के साथ नहीं खेला है या तो स्थापित करें, इसलिए मैं यह मानने जा रहा हूं कि इसके पूर्ववर्तियों के लिए कुछ मौलिक समानताएं हैं। मुझे लगता है कि मैं उन्हें बनाने की कोशिश करूँगा।
शॉट्स बुला
समस्या के आपके विवरण के आधार पर मेरा अनुमान है, यह है कि सिस्टम रजिस्ट्री में उचित प्रविष्टियों को रिकॉर्ड करने में विफल हो रहा है ताकि जब आप "खुले" पहले से "खुले" ... करने के बाद आप "खुला" चलाएं अंतिम बार चयनित
मैं आपको अपने मुद्दे के माध्यम से चलता हूं और अपने प्रारंभिक अनुमान को साबित या अस्वीकृत करूंगा। यदि आपको नीचे मेरी सभी क्रियाओं की आवश्यकता नहीं है, तो आप उस रीकॉन अनुभाग को छोड़ / स्कैन कर सकते हैं जहाँ हम समस्या को उजागर करने का प्रयास करना शुरू करते हैं।
जल्दी सुधार
इससे पहले कि हम नीचे वर्णित अधिक सम्मिलित कदमों में उतरें, आपको पहले नियंत्रण कक्ष में पाए जाने वाले डिफ़ॉल्ट प्रोग्राम इंटरफ़ेस की जांच करनी चाहिए । आप "ओपन के साथ ..." मेनू के माध्यम से एक समान प्रभाव प्राप्त कर सकते हैं, लेकिन आपने पहले ही कहा था कि आपके लिए काम नहीं कर रहा था। ** सुनिश्चित करें कि आप चेकबॉक्स सेट कर रहे हैं जो आपके द्वारा चुने गए आवेदन के लिए डिफ़ॉल्ट एप्लिकेशन के रूप में अपनी सेटिंग को याद रखने के लिए इंगित करता है।
नियंत्रण कक्ष में डिफ़ॉल्ट प्रोग्राम इंटरफ़ेस के तहत आपके लिए "डिफ़ॉल्ट को रीसेट करने" या पिछले संस्करण में वापस करने के विकल्प हो सकते हैं। आप इन विभिन्न विकल्पों पर विचार कर सकते हैं कि क्या वे आपकी समस्या का समाधान करते हैं। पहले इन करें, क्योंकि वे सबसे आसान सुधार होंगे। यदि वे काम नहीं कर रहे हैं, तो आपको नीचे दिए गए विकल्पों को जारी रखना चाहिए।
मान्यताओं
ये ऐसी धारणाएं हैं जिन्हें मैं समझ सकता हूं। यदि उनमें से कोई भी आधार बंद है, तो कृपया मुझे बताएं और अगर मुझे करना है तो मुझे विंडोज 8 स्थापित करने के लिए समय लगेगा।
रजिस्ट्री
मुझे लगता है कि मैं जो सबसे बड़ी धारणा बना रहा हूं वह यह है कि ओएस अभी भी रजिस्ट्री का उपयोग करता है और उन जगहों के लिए जहां मैं उदाहरण देता हूं मैं मान रहा हूं कि विंडोज 8 में रजिस्ट्री निर्देशिका लेआउट / संरचना अपने पूर्ववर्तियों के समान है।
cmd.exe
व्यक्तिगत रूप से, मैं अक्सर कमांड प्रॉम्प्ट को प्राथमिकता देता हूं इसलिए मैं शायद टर्मिनल सत्र के संदर्भ में चरणों का वर्णन करूंगा। मैं मान रहा हूँ कि विंडोज 8 में अभी भी cmd.exe है ; अगर यह नहीं होता तो मैं वास्तव में आश्चर्यचकित रह जाता।
पंजीकृत संपादक
यदि कोई रजिस्ट्री है, तो रजिस्ट्री को देखने / संपादित करने के लिए एक उपकरण है। मैं मान रहा हूँ कि जीयूआई और कमांडलाइन टूल का नाम वही है जो वे पूर्ववर्तियों में थे।
उपयोगकर्ता विशेषाधिकार
मैं मानूंगा कि शेल को उन्नत विशेषाधिकार के साथ लागू करने के तरीके ओएस पूर्ववर्तियों के समान हैं जो आपको पता चल जाएगा कि क्या करना है। अगर मैं यहां से बाहर हूं तो बस मुझसे कुछ विस्तार के लिए पूछें और मैं वही करूंगा जो मैं कर सकता हूं।
SysInternals Suite
मुझे बहुत निराशा होगी अगर ये विंडोज 8 में उपलब्ध नहीं थे। मुझे विश्वास नहीं हो रहा है कि वे उपलब्ध नहीं होंगे क्योंकि वे डेवलपर / क्यूए चक्रों के लिए इतने मौलिक हैं कि माइक्रोसॉफ्ट और तीसरे पक्ष के डेवलपर्स के माध्यम से जाते हैं।
WinDbg.exe, DDKs, और SDKs
मुझे लगता है कि आप पहले से ही इन स्थापित नहीं है। कोई बात नहीं। हम संभवतः उन भारी-शुल्क वाले टूल की आवश्यकता के बिना समस्या को हल कर सकते हैं। पहले रीकॉन सेक्शन के माध्यम से जाएं और यदि आपको गहराई में जाने की आवश्यकता है (या बस चाहते हैं), तो इन उपकरणों के बारे में बात करेंगे।
टोह
हमेशा अपने काम को सबसे सरल तरीके से पूरा करने का प्रयास करें। Windows डीबगर के साथ शुरू करने के लिए एक प्रारंभिक बिंदु ओवरकिल होगा, और उन घटनाओं के टुकड़े / अनुक्रम को स्पॉट करना थोड़ा अधिक कठिन होगा जो प्रासंगिक हैं।
यदि आपने पहले ही SysInternals Suite को डाउनलोड और इंस्टॉल नहीं किया है , तो आपको अब ऐसा करना चाहिए। बहुत कम से कम आपको गलत क्या हो रहा है, यह जानने के लिए पहले प्रयासों के लिए प्रोसेस एक्सप्लोरर और प्रोसेस मॉनिटर की आवश्यकता होगी । ये दोनों उपकरण सुइट का हिस्सा हैं, जिन्हें आप * .zip फ़ाइल के रूप में डाउनलोड कर सकते हैं, लेकिन यदि आपके पास खराब नेटवर्क कनेक्शन है, तो आप इसे तेजी से पूरा करने के लिए व्यक्तिगत रूप से दो टूल डाउनलोड करना चुन सकते हैं।
अपने सिस्टम पर उपयुक्त स्थान पर सुइट / उपकरण खोलना (मोटे तौर पर आपकी व्यक्तिगत प्राथमिकता)। यदि आप डिफ़ॉल्ट विंडोज अनज़िप उपयोगिता का उपयोग कर रहे हैं, तो आप संग्रह को अनज़िप करने से पहले ज़ोन फ़ाइल को हटाना चाहेंगे । जोन फाइल कैसे ओएस जानता है कि "इस फ़ाइल को इंटरनेट से डाउनलोड किया गया था [...] अपने जोखिम [...] के लिए [...] अचिह्नित बॉक्स में चला"। मुझे यकीन है कि आपने पहले भी एक पॉप-अप बॉक्स में ऐसा ही संदेश देखा होगा। आमतौर पर पॉप-अप के निचले हिस्से में थोड़ा सा चेकबॉक्स होता है जो आपके निर्णय को याद रखेगा यदि आप इसे एक बार टॉगल करते हैं।
उस चेकबॉक्स को देखने का एक अन्य तरीका राइट-क्लिक करना है -> आपके द्वारा डाउनलोड की गई फ़ाइल पर गुण। चेकबॉक्स सामान्य टैब के नीचे होना चाहिए । उस चेकबॉक्स को टॉगल करने से एक बार बाइनरी से ज़ोन फ़ाइल को हटा दिया जाएगा (साइड नोट के रूप में, ज़ोन फ़ाइल बाइनरी के वैकल्पिक डेटा स्ट्रीम में प्रश्न में संग्रहीत है - लेकिन यह एक और चर्चा है। अभी के लिए, बस पॉप-अप विंडोज़ का उपयोग करें या फ़ाइल गुण क्षेत्र फ़ाइलों में हेरफेर करने के लिए इंटरफेस ।
सुनिश्चित करें कि आप डिफॉल्ट विंडोज जिप टूल से अनपैक करने से पहले * .zip आर्काइव से जोन फाइल को हटा दें। यदि आप इसे * .zip फ़ाइल से नहीं हटाते हैं, तो ज़िप उपयोगिता प्रत्येक अनपैक्ड फ़ाइल को एक ज़ोन फ़ाइल के साथ चिह्नित करेगी और फिर यह एक दर्द होगा जो आपको कभी भी बाइनरी के लिए पॉप-अप विंडो में मिल रहा है जो आप सूट में चलाते हैं।
दो उपकरण हैं जो हम शुरू करने जा रहे हैं: * प्रोसेस एक्सप्लोरर (procexp.exe) * प्रोसेस मॉनिटर (procmon.exe)
यदि आप उनके बारे में अधिक जानना चाहते हैं, तो आप इसी .chm फ़ाइल को संदर्भित कर सकते हैं। हम प्रोसेस एक्सप्लोरर के साथ शुरू करने जा रहे हैं और अगर हम जल्दी से इस मुद्दे को हल नहीं कर सकते हैं तो हम प्रोसेस मॉनिटर (जो कि चलाने के लिए थोड़ा और अधिक शामिल है) में चले जाएंगे, और यदि हम अभी भी समस्या को हल नहीं कर सकते हैं तो हम बात करेंगे बड़ी तोपों को बाहर निकालने के बारे में। तथ्य यह है कि, हालांकि, मुझे अक्सर वही मिलता है जो मुझे संयुक् त चरण में जानना चाहिए और डीबगर को स्टार्ट-अप करने की आवश्यकता नहीं है।
पृष्ठभूमि और समझ
रजिस्ट्री वह जगह है जहां सिस्टम मैपिंग को संग्रहीत करता है जो फ़ाइल एक्सटेंशन को उन एप्लिकेशन से संबंधित करता है जो जानते हैं कि उन्हें कैसे संभालना है। उदाहरण के लिए, आप एप्लिकेशनों के एक्सटेंशन के लिए मैपिंग को देखने / हेरफेर करने के लिए कमांड-लाइन टूल्स ftype और assoc का उपयोग कर सकते हैं ।
एक्सटेंशन ".txt" से जुड़े फ़िलाटाइप को देखने के लिए एक टर्मिनल से निम्न कमांड निष्पादित करें।
$> assoc .txt
.txt=txtfile
यह इंगित करता है कि .txt फ़ाइल एक्सटेंशन को filetypes के txtfile वर्ग को सौंपा गया है । फिर txtfile वर्ग के साथ जुड़े एप्लिकेशन को देखने के लिए, कमांड निष्पादित करें
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
ये उपकरण सिस्टम के लिए सिर्फ रजिस्ट्री सेटिंग्स को पढ़ रहे हैं। आप उन्हें अपने आप को reg.exe जैसे टूल के साथ देख सकते हैं जिसे आप टर्मिनल से निष्पादित करेंगे या अधिकांश लोग GUI रजिस्ट्री संपादक regitit.exe को पसंद करेंगे । उस स्थान पर आपको कुछ एक्सटेंशन, फ़िलाटाइप कक्षाएं और एप्लिकेशन एसोसिएशन दिखाई देंगे, जिन्हें आप बस HKEY_CLASSES_ROOT हाइव के नीचे देखेंगे। सीधे उस छत्ते के नीचे आपको ".txt" और साथ ही, "txtfile" और निश्चित रूप से दोनों के लिए एक कुंजी मिलनी चाहिए।
यहाँ का उपयोग कर के कुछ और उदाहरण हैं Assoc और ftype उपयोगिताओं।
करने के लिए सुनिश्चित करें कि आप खिला रहे हैं एक्सटेंशन बनाने Assoc । मुझे लगता है कि आप यह पहले से ही जानते हैं, लेकिन स्पष्ट फ़ाइल एक्सटेंशन होने के लिए "डॉट द्वारा पीछा किया गया 3 या 4 वर्ण" जो एक फ़ाइल नाम को समाप्त करता है। उदाहरण के लिए, application.exe , document.txt , या presentaion.ppt। Assoc उपयोगिता प्रदान करने के लिए उम्मीद है। "" और इसके पैरामीटर के रूप में 3/4 अक्षर।
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
अलग और से अलग फाइल एक्सटेंशन है फ़ाइल प्रकार । एकाधिक फ़ाइल एक्सटेंशन को एकल फ़ाइल प्रकार में वर्गीकृत किया जा सकता है । विचार करें कि कैसे ".html" और ".htm" मानचित्र एक ही फ़िलाटाइप के लिए; वह है, "htmlfile"। नीचे दिया गया उदाहरण आगे इस बिंदु को प्रदर्शित करने की कोशिश करता है।
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
इसके अलावा, ध्यान दें कि रजिस्ट्री में HKEY_CLASSES_ROOT हाइव के तहत निम्नलिखित कुंजियाँ हैं।
- HKCR.html
- HKCR.htm
- HKCR \ htmlfile
यदि आपके लिए एक txt फ़ाइल अपलोड / संलग्न / साझा करने के लिए एक शानदार तरीका है तो निम्न कमांड चलाएं, और मैं उनके द्वारा बनाए गए आउटपुट को देखूंगा।
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
अब आपको उन फ़ाइलों को खोलने में सक्षम होना चाहिए जिन्हें आपने उन फ़ाइलों को लिखा और साझा किया है। निम्न आदेशों को फ़ाइलें भी खोलनी चाहिए (यदि आप बनाई गई फ़ाइलों को खोजने के लिए प्रतीत कर सकते हैं)।
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
यदि आप पूरी * .txt फाइल मेरे साथ साझा नहीं कर सकते हैं, तो कम से कम इन दोनों कमांडों को चलाएं और उनके परिणामों को टिप्पणियों में डालें।
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
अगर आपको वहां कुछ भी दिखाई नहीं देता है, तो आपको इसे किसी चीज़ पर सेट करके शुरू करना चाहिए। सुनिश्चित करें कि आपने उन परिवर्तनों को बनाते समय विशेषाधिकारों (यानी प्रशासक विशेषाधिकारों) को उठाया है, अन्यथा वे संभवत: काम नहीं करेंगे कि आप कैसे उम्मीद करते हैं।
प्रक्रिया एक्सप्लोरर
TODO यदि आवश्यक हो
प्रक्रिया की निगरानी
TODO यदि आवश्यक हो
विंडोज डिबगिंग वातावरण स्थापित करना