2011-04-11 13 views
10

मेरे पास एक WPF ऑडियो एप्लिकेशन है।NullReferenceException, कोई स्टैक ट्रेस नहीं ... कहां से शुरू करें?

कभी-कभी (और यहां तक ​​कि डीबगर में) मैं NullReferenceException देख रहा हूं जिसमें इसके साथ कोई स्टैक ट्रेस जानकारी नहीं है।

कोई ऐसी समस्या को डीबग करना कैसे शुरू कर सकता है?

कुछ पृष्ठभूमि:

मैं पी रहा हूँ/WinMM.dll में कार्यों लागू है जो एक callback दर्ज की शामिल है जब waveOutOpen

[DllImport("winmm.dll")] 
    public static extern MmResult waveOutOpen(out IntPtr phwo, IntPtr uDeviceID, WaveFmt pwfx, WaveCallbk dwCallback, IntPtr dwInstance, int fdwOpen); 

बुला यह मुश्किल साबित हुआ है स्थिर प्राप्त करने के लिए, विशेष रूप से बात मैं कहाँ फोन पर waveOutClose, और तुरंत waveOutOpen पर कॉल करें (आमतौर पर आउटपुट प्रारूप को बदलने के लिए)।

मुझे संदेह है कि समस्या उन कॉलों से संबंधित हो सकती है जो मैं ऊपर वर्णित कर रहा हूं (हालांकि बहुत कम ज्ञान पर, मैं पूरी तरह से लक्षित हो सकता हूं)।

समस्या का पुनरुत्पादन वर्तमान में छद्म साबित हो रहा है, हालांकि मैं ऐसे उपयोगकर्ता को एक बिल्ड की आपूर्ति कर सकता हूं जो इस समस्या को लगातार देख रहा है। मैं उन परिचालनों को तेज़ करने की कोशिश कर सकता हूं जो समस्या को उस बिंदु तक पहुंचा रहे हैं जहां डीबगर में समस्या का पुनरुत्पादन निश्चित रूप से अधिक है।

डीबगर के संबंध में, मैंने किसी भी सेटिंग (Enable unmanaged code debugging सहित) या Debug -> Exceptions... सेटिंग्स में से किसी के साथ tinkered नहीं किया है। ईमानदार होने के लिए, मैं यहां क्या पेशकश कर रहा हूं, इस बारे में काफी अनजान हूं, इसलिए किसी भी संकेत का स्वागत है।

अपवाद को स्टैक ट्रेस नहीं हो सकता है? क्या आपने इससे पहले देखा है? मदद!

VS Exceptions window

इस पर डीबगर में एक को तोड़ने का कारण होगा: - (> अपवाद डीबग)

+0

हां, इस तरह की चीज अक्सर अप्रबंधित कोड के साथ काम करते समय होती है। और यह कुल पिटा है। व्यक्तिगत रूप से मुझे चीजों की एक चेकलिस्ट देखना पसंद है। – briantyler

+0

एक चेकलिस्ट बेहद आसान होगी। किसी को? – spender

उत्तर

9

सबसे उपयोगी बात आप डीबगर में क्या कर सकते हैं यह हिदायत एक प्रथम मौका अपवाद पर तोड़ने के लिए है सटीक बिंदु NullReferenceException फेंक दिया गया है, जो डिबगिंग के दौरान आप कभी भी उम्मीद कर सकते हैं।

+1

अच्छा। बस इसे डीबगर में करना है ... ger ... grrrr। – spender

+0

बहुत धन्यवाद! यदि आप सोच रहे हैं तो यह वीएस 2015 में स्थानांतरित हो गया है .. डीबग-> विंडोज-> अपवाद सेटिंग। वहां इसकी खोज है, इसलिए संभवतः NullReference के लिए खोज बॉक्स का उपयोग करना सबसे आसान है। –

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