كيف يمكنني معرفة ما تسبب في الأصل استثناء، إذا كان يحصل القيت من التعليمات البرمجية مايكروسوفت؟
-
22-08-2019 - |
سؤال
ولقد اثنين من الضوابط التي تحتوي على DataGridView
s على الأجزاء المختلفة في 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.