dnSpyEx
dnSpyEx dnSpy प्रोजेक्ट की एक अनौपचारिक निरंतरता है जो एक डीबगर और .NET असेंबली संपादक है। आप इसका उपयोग असेंबली को संपादित और डीबग करने के लिए कर सकते हैं भले ही आपके पास कोई स्रोत कोड उपलब्ध न हो। मुख्य विशेषताएं:
- .NET और Unity असेंबली को डीबग करें
- .NET और Unity असेंबली को संपादित करें
- हल्की और गहरी थीम
अधिक सुविधाओं के लिए नीचे देखें


बाइनरीज़
नवीनतम स्थिर रिलीज़: https://github.com/dnSpyEx/dnSpy/releases
यदि आप जोखिम लेना पसंद करते हैं तो आप नवीनतम 'बीटा' बिल्ड का उपयोग कर सकते हैं:

बनाना
git clone --recursive https://github.com/dnSpyEx/dnSpy.git
cd dnSpy
# or dotnet build
./build.ps1 -NoMsbuild
Unity गेम को डीबग करने के लिए, आपको इस रेपो की भी आवश्यकता है: https://github.com/dnSpyEx/dnSpy-Unity-mono
डीबगर
- .NET Framework, .NET और Unity गेम असेंबली को डीबग करें, कोई स्रोत कोड आवश्यक नहीं
- ब्रेकपॉइंट सेट करें और किसी भी असेंबली में कदम रखें (step into)
- Locals, watch, autos विंडोज़
- वेरिएबल विंडोज़ वेरिएबल्स को सहेजने का समर्थन करती हैं (जैसे डिक्रिप्टेड बाइट ऐरे) डिस्क पर या हेक्स एडिटर (मेमोरी विंडो) में देखें
- ऑब्जेक्ट आईडी
- एक ही समय में कई प्रक्रियाओं को डीबग किया जा सकता है
- मॉड्यूल लोड पर ब्रेक
- ट्रेसपॉइंट और सशर्त ब्रेकपॉइंट
- ब्रेकपॉइंट और ट्रेसपॉइंट निर्यात/आयात करें
- सिस्टम लाइब्रेरीज़ के लिए वैकल्पिक Just My Code (JMC) स्टेपिंग फ़िल्टर
- कॉल स्टैक, थ्रेड्स, मॉड्यूल, प्रक्रियाएं विंडोज़
- फेंके गए अपवादों पर ब्रेक (पहला मौका)
- वेरिएबल विंडोज़ C# / Visual Basic अभिव्यक्तियों का मूल्यांकन करने का समर्थन करती हैं
- डायनामिक मॉड्यूल को डीबग किया जा सकता है (लेकिन CLR सीमाओं के कारण डायनामिक विधियों को नहीं)
- आउटपुट विंडो विभिन्न डीबगिंग घटनाओं को लॉग करती है, और यह डिफ़ॉल्ट रूप से टाइमस्टैम्प दिखाती है :)
- रनटाइम पर स्वयं को डिक्रिप्ट करने वाली असेंबली को डीबग किया जा सकता है, dnSpy इन-मेमोरी इमेज का उपयोग करेगा। आप dnSpy को डिस्क फ़ाइलों के बजाय हमेशा इन-मेमोरी इमेज का उपयोग करने के लिए बाध्य कर सकते हैं।
- सामान्य डीबगर डिटेक्शन तकनीकों के लिए बायपास
- पब्लिक API, आप एक एक्सटेंशन लिख सकते हैं या डीबगर को नियंत्रित करने के लिए C# इंटरएक्टिव विंडो का उपयोग कर सकते हैं
असेंबली संपादक
- सभी मेटाडेटा संपादित किया जा सकता है
- IntelliSense के साथ C# या Visual Basic में विधियों और कक्षाओं को संपादित करें, कोई स्रोत कोड आवश्यक नहीं
- C# या Visual Basic में नई विधियाँ, कक्षाएं या सदस्य जोड़ें
- निम्न स्तरीय IL विधि बॉडी संपादन के लिए IL संपादक
- निम्न स्तरीय मेटाडेटा तालिकाओं को संपादित किया जा सकता है। यह आंतरिक रूप से हेक्स संपादक का उपयोग करता है।
हेक्स संपादक
- डीकंपाइल्ड कोड में एक पते पर क्लिक करके हेक्स संपादक में उसके IL कोड पर जाएं
- उपरोक्त का उल्टा, हेक्स संपादक में IL बॉडी में F12 दबाएं ताकि डीकंपाइल्ड कोड या बिट्स के अन्य उच्च-स्तरीय प्रतिनिधित्व पर जा सकें। यह पता लगाने के लिए बहुत अच्छा है कि पैच ने किस स्टेटमेंट को संशोधित किया।
- .NET मेटाडेटा संरचनाओं और PE संरचनाओं को हाइलाइट करता है
- टूलटिप्स चयनित .NET मेटाडेटा / PE फ़ील्ड के बारे में अधिक जानकारी दिखाते हैं
- स्थान, फ़ाइल, RVA पर जाएं
- .NET मेटाडेटा टोकन, विधि बॉडी, #Blob / #Strings / #US हीप ऑफसेट या #GUID हीप इंडेक्स पर जाएं
- संदर्भों का अनुसरण करें (Ctrl+F12)
अन्य
- BAML डीकंपाइलर और डिसअसेंबलर
- नीला, हल्का और गहरा थीम (और एक गहरा उच्च कंट्रास्ट थीम)
- बुकमार्क
- C# इंटरएक्टिव विंडो का उपयोग dnSpy को स्क्रिप्ट करने के लिए किया जा सकता है
- असेंबली में कक्षाओं, विधियों, स्ट्रिंग्स आदि की खोज करें
- कक्षा और विधि उपयोग का विश्लेषण करें, कॉलर्स खोजें, आदि
- एकाधिक टैब और टैब समूह
- संदर्भ हाइलाइट किए जाते हैं, अगले संदर्भ पर जाने के लिए Tab / Shift+Tab का उपयोग करें
- एंट्री पॉइंट और मॉड्यूल इनिशियलाइज़र कमांड पर जाएं
- मेटाडेटा टोकन या मेटाडेटा पंक्ति कमांड पर जाएं
- कोड टूलटिप्स (C# और Visual Basic)
- प्रोजेक्ट में निर्यात करें
dnSpy द्वारा उपयोग की जाने वाली अन्य ओपन सोर्स लाइब्रेरीज़ की सूची
dnSpy का अनुवाद
यदि आप dnSpy का अपनी मातृभाषा में अनुवाद करने में मदद करना चाहते हैं तो यहां क्लिक करें।
विकी
बिल्ड निर्देशों और अन्य दस्तावेज़ीकरण के लिए Wiki देखें।
लाइसेंस
dnSpy को GPLv3 के तहत लाइसेंस प्राप्त है।