2011-01-19 15 views
13

en_windows_7_checked_build_dvd_x86_398742 डीबग करने पर मुझे कोई डीबग जानकारी नहीं मिल रही है। मैं अपनी खुद की ट्रेस जानकारी (ATLTRACE) भी नहीं देख सकता। इसके विपरीत, विंडोज एक्सपी एक आकर्षण की तरह काम करता है। मैं "बैड QueryIdType: 5" मिल विंडोज 7 के साथ डिबग सत्र प्रारंभ होते ही संदेश कर्नेल डिबग ठीक से स्पष्ट रूप से स्थापित है। कृपया मदद करें ...कर्नेल ट्रेस विंडोज 7 WinDbg

उत्तर

13

ठीक है, मुझे समाधान here मिला। यह लोगों की मदद कर सकता है:

समस्या: आपके डीबीजीप्रिंट या केडीप्रिंट संदेश WinDbg (या केडी) में प्रकट नहीं होते हैं जब आप अपने Vista को Windows Vista पर चलाते हैं।

कारण? Vista स्वचालित रूप से DbgPrintEx को DbgPrint और मित्रों को मानचित्र करता है। अब, आप याद कर सकते हैं कि DbgPrintEx आपको उन स्थितियों को नियंत्रित करने की अनुमति देता है जिनके अंतर्गत कर्नेल डीबगर को संदेश फ़िल्टर करके घटक नाम और फ़ंक्शन कॉल में स्तर और रजिस्ट्री या मेमोरी में संबंधित फ़िल्टर मास्क के माध्यम से संदेशों को फ़िल्टर करके भेजा जाएगा।

विस्टा, DbgPrint और KdPrint में घटक "DPFLTR_DEFAULT_ID" और स्तर "DPFLTR_INFO_LEVEL" करने के लिए मैप की जाती हैं। बेशक, Vista में, xxx_INFO_LEVEL आउटपुट डिफ़ॉल्ट रूप से अक्षम है। इसलिए, डिफ़ॉल्ट रूप से, आपका डीबीजीप्रिंट/केडीप्रिंट कर्नेल डीबगर को नहीं भेजा जाता है।

इसे कैसे ठीक करें? दो विकल्प:

  • कुंजी HKLM\SYSTEM\CurrentControlSet\Session Manager\Debug Print Filter --Open डिफ़ॉल्ट रूप से DbgPrint/KdPrint संदेशों के उत्पादन को सक्रिय करें। इस कुंजी के अंतर्गत, नाम DEFAULT DWORD मान 8 के लिए इस कुंजी बराबर का मूल्य निर्धारित करें xxx_INFO_LEVEL उत्पादन के साथ-साथ xxx_ERROR_LEVEL उत्पादन को सक्षम करने के साथ एक मूल्य पैदा करते हैं। या मास्क को 0xF पर सेट करने का प्रयास करें ताकि आपको सभी आउटपुट मिल जाए। इन परिवर्तनों को प्रभावी होने के लिए आपको रीबूट करना होगा।

  • विशेष रूप से DPFLTR के लिए घटक फ़िल्टर मास्ट को बदलें। विस्टा/एलएच की शुरुआती रिलीज में आपने Kd_DPFLTR_MASK ("ed Kd_DPFLTR_MASK") पर DWORD के लिए मास्क मान निर्दिष्ट करके डिफ़ॉल्ट प्रिंटआउट मास्क बदल दिया। 5308 (Vista का फरवरी सीटीपी) बनाने में, ऐसा लगता है कि मुखौटा चर बदल गया है और आपको Kd_DEFAULT_MASK ("ed Kd_DEFAULT_MASK) पर DWORD के लिए मास्क मान सेट करने की आवश्यकता है। किसी भी मामले में, DPFLTR_INFO_LEVEL आउटपुट को सक्षम करने के लिए 8 निर्दिष्ट करें DPFLTR_ERROR_LEVEL उत्पादन के लिए, या 0xF उत्पादन के सभी स्तरों पाने के लिए

(पढ़ना और छनन डिबगिंग संदेशों के लिए WDK दस्तावेज़ देखें पथ का पालन करें:। चालक विकास उपकरण \ ड्राइवर डिबगिंग \ एक ड्राइवर में डिबगिंग कोड का उपयोग करने के लिए उपकरण \ डीबगिंग कोड अवलोकन) DbgPrintEx/KdPrintEx के उपयोग पर पूर्ण विवरण के लिए। या डीबीजीप्रिंटएक्स पर विंडोज प्रलेखन (परिशिष्ट ए) के लिए डिबगिंग उपकरण देखें।

15

मैं, 7 32 बिट windbg के भीतर से इसे ठीक करने के खिड़कियों पर कर रहा था:

ed Kd_DEFAULT_Mask 8 

MSDN लेख के अनुसार, आप भी रजिस्ट्री का उपयोग कर सकते हैं, लेकिन यह प्रभावी करने के लिए आप रीबूट करना होगा। के मूल्य के साथ नामक HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter के तहत एक DWORD कुंजी बनाएं।

तारीख माइक्रोसॉफ्ट प्रलेखन अप करने के लिए यहाँ उपलब्ध है: http://msdn.microsoft.com/en-us/library/windows/hardware/ff551519(v=vs.85).aspx

1

डिफ़ॉल्ट रूप से DbgPrint/KdPrint संदेशों के उत्पादन को सक्षम करने के लिए रजिस्ट्री पथ "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ सत्र प्रबंधक \ डीबग प्रिंट फ़िल्टर" है नियंत्रण प्रबंधक नीचे नियंत्रण प्रबंधक है। डिफ़ॉल्ट मान मानदंड 0xf है। यह सभी संदेशों को सक्षम बनाता है। अपनी आवश्यकताओं पर एक बेहतर फिटिंग बिटमास्क सेट करने के लिए जानकारियां https://docs.microsoft.com/de-de/windows-hardware/drivers/devtest/reading-and-filtering-debugging-messages#identifying-the-component-name

पर स्थित हैं आप दृश्य स्टूडियो 2015 या 2017 पर लेते हैं, मानक विन्यास डिफ़ॉल्ट रूप से इस ध्वज सेट नहीं होंगे। उदाहरण के साथ काम करना शुरू करते समय डीबग-टार्गेट पर यह अतिरिक्त सेट करना न भूलें।

तो इससे मुझे विंडबग का उपयोग करके अपने विंडोज 10 पर्यावरण में मदद मिली।

गूंज उदाहरण https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel-mode-#install

बुलेट पर में वर्णित की तरह एक दूसरी समस्या Windows 10 पर DevCon उपयोग कर रहा था "बनाया ड्राइवर फ़ाइलों का पता लगाएं 7" डीबग-लक्ष्य करने के लिए आवश्यक चालक फ़ाइलें स्थानांतरित और DevCon साथ उन्हें लोड । विंडोज 10 का उपयोग करके आपको कैटलॉग-फाइल कॉपी करना होगा। अन्यथा devcon.exe वर्णित के रूप में विफल हो जाएगा। कारण आपको टेस्ट-सर्टिफिकेट भी इंस्टॉल करना होगा। यह आमतौर पर विजुअल स्टूडियो 2015/2017 के साथ डिबगिंग वातावरण तैयार करते समय किया जाता है। Certmgr के साथ बस दो बार जांचें।