سؤال

وVS2005 C # مترجم تحطم أثناء عملية الإنشاء ليلا فريقنا. أعلقها على ذلك مع WinDBG، تحميل ملحقات SOS، طباعة callstack، ولكن لا نستطيع أن نرى من المعلومات استثناء.

وحاولت PrintException، على النحو التالي:

    0:000> !PrintException
    There is no current managed exception on this thread

وهنا أعلى callstack:

    0:000> !CLRStack
    OS Thread Id: 0x9fc (0)
    ESP       EIP     
    0012ee08 77e4bef7 [ComPlusMethodFrameGeneric: 0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile()
    0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute()
    0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask.Execute()
هل كانت مفيدة؟

المحلول

والسبب كنت لا نرى استثناء هو أن C # مترجم ليست مكتوبة في التعليمات البرمجية المدارة. وهو ++ C المشروع، وبالتالي لن رمي استثناء CLR. تحتاج للبحث عن الخطأ الأصلي بدلا من ذلك.

نصائح أخرى

وحصلت عليه! كان كل ما ينبغي القيام به لحفظ ملف تفريغ (* .dmp) من WinDbg و إعادة فتحه في Visual Studio.

لنظرة الحل الكامل في سؤالي السابق

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