मुझे पता चला कि एक .NID असेंबली। डीएल फ़ाइल एक GUID (blog) का उपयोग कर .pdb पर कैसे मानचित्र करता है। जब मैं एक असेंबली में डीबग करता हूं और यह स्रोत कोड मांगता है, अगर मैं किसी फ़ाइल पर नेविगेट करता हूं, तो यह मुझे बता सकता है कि स्रोत कोड मूल से अलग है। यह कैसे पता है? मैं .pdb फ़ाइल को प्रत्येक फ़ाइल के लिए चेकसम रखने की उम्मीद कर रहा था, लेकिन ऐसा प्रतीत नहीं होता है। डीबग जानकारी डंप करने के लिए मैंने पाया सबसे अच्छा टूल dia2dump है। सी ++। पीडीबी फाइलों में एमडी 5 प्रविष्टियां थीं, लेकिन सी #। पीडीबी फाइलें नहीं थीं।विजुअल स्टूडियो कैसे जानता है कि स्रोत फ़ाइल मूल संस्करण से मेल खाती है?
सी डंप ++
dia2dump -f dia2dump.pdb>dia2dump.pdb.files.txt
सी # डंप
-f dia2dump Autofac.pdb>Autofac.pdb.files.txt
dia2dump निर्माण सभी Autofac.pdb>Autofac.pdb.all.txt
वहाँ कुछ मैं है "सब" डंप में चूक गए?
इसे चेकसम का उपयोग करना होगा। अगर मैं Module.cs में एक भी चरित्र बदलने के लिए, मैं:
मैं कहाँ एक .pdb में संदर्भित एक स्रोत फ़ाइल के लिए चेकसम मिल सकती है?
मैं pdb को देखकर किया गया है हाल ही में बहुत फ़ाइलें। आप यहां अधिक जानकारी प्राप्त कर सकते हैं। http://blog.ctaggart.com/search/label/pdb –
क्या आपने कभी भी .NET पीडीबी से MD5 हैश प्राप्त करने का कोई तरीका खोजा है? – Petrik
मैंने किया। मैंने सोर्सलिंक नामक एक .NET लाइब्रेरी बनाई जो इसे कर सकती है। https://github.com/ctaggart/SourceLink –