2008-10-02 11 views
6

पीडीबी फाइलों में .NET असेंबली के लिए प्रतीक जानकारी होती है। मैं उनके फ़ाइल स्थान के साथ विधियों को सहसंबंधित करने के लिए एक पीडीबी फ़ाइल पढ़ना चाहता हूं। डेटा इसके भीतर निहित है लेकिन मुझे यह समझने में कोई अच्छा विवरण नहीं दिख रहा है कि इसे कैसे निकाला जाए।मैं प्रतीकों (.pdb) फ़ाइल से सी # विधि की फ़ाइल और रेखा # को कैसे निर्धारित करूं?

मुझे mdbg के बारे में पता है, लेकिन यह जो भी मैं चाहता हूं उसके लिए बहुत भारी (मुझे लगता है/आशा) है।

+0

क्या स्टैक ट्रेस में स्रोत फ़ाइल के विरुद्ध लाइन संख्या शामिल नहीं है, जिसे संकलित किया गया था। –

+0

हां, लेकिन मुझे विधि में कॉल किए बिना इसकी आवश्यकता है और विशेष रूप से बिना किसी अपवाद को फेंकने के मैं इसे पकड़ रहा हूं। –

उत्तर

3

आप दिखना चाहिए:

  • Mono.Cecil और विशेष रूप से Mono.Cecil.Pdb मॉड्यूल। यह वही करना चाहिए जो आप चाहते हैं और अधिक।
2

DBGHELP.DLL में, आप SymGetLineFromAddr64 फ़ंक्शन का उपयोग कर सकते हैं। आपको पी/आमंत्रण का उपयोग करने की आवश्यकता होगी। डीआईए एसडीके में एक संबंधित एपीआई हो सकती है, लेकिन मैं इसके बारे में परिचित नहीं हूं क्योंकि मैं डीबीएचजीएल हूं।

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