كيف يمكنني معرفة ما تسبب في الأصل استثناء، إذا كان يحصل القيت من التعليمات البرمجية مايكروسوفت؟

StackOverflow https://stackoverflow.com/questions/685407

سؤال

ولقد اثنين من الضوابط التي تحتوي على DataGridViews على الأجزاء المختلفة في DockPanel. إذا كان أحد في وضع تحرير وأتحول الجزء، وأحصل على NullReferenceException القيت من داخل طريقة DataGridView وEndEdit() ل. تتبع المكدس لا يذهب أي أعمق من ذلك ولا يحتوي على استثناء أي مزيد من المعلومات.

ولقد ألقيت نظرة على هذه الطريقة في العاكس، وأنا لا أرى أي شيء باطل واضح. وأظن أن المشكلة هي في الواقع في قانون بلدي، ولكن يجري rethrown استثناء من ضمن التعليمات البرمجية مايكروسوفت وهذا ما إعادة تتبع المكدس. كيف يمكنني معرفة ما تسبب في الأصل استثناء؟

هل كانت مفيدة؟

المحلول

إذا كنت تشك في وجود خطأ في رمز MS، هل يمكن تحميل رموز التصحيح من ملقم الرموز، وتحميلها وتتبع من خلال على التصحيح؟ <وأ href = "http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx" يختلط = "نوفولو noreferrer "> مثل ذلك .

لاحظ أن حرف تخضع لواحدة من تراخيص مختلفة. وهذا قد تؤثر عليك إذا (على سبيل المثال) التي تعمل على مساهمات "أحادية" وما إلى ذلك.

نصائح أخرى

هل نظرت إلى الخاصية InnerException؟

واتبع الإرشادات لإعداد MS رمز الخادم و < وأ href = "http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx" يختلط = "نوفولو noreferrer" > الملقم المصدر <سوب> 1 . تعيين مصحح لكسر في NullReferenceException التي القيت. ثم إما سوف تحصل كامل شفرة المصدر لتصحيح الأخطاء، أو على الأقل تتبع مكدس كاملة.

<سوب> 1 في ملاحظة، يتم تضمين QFE المدرجة في SP1.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top