سؤال

أحاول استخدام Microsoft's Clrprofiler إلى ملف تعريف تطبيقي الكبير إلى حد ما ، ويتم تعطله كلما حاولت كتابة (أو قراءة) ملف السجل. ومن المفارقات ، تم توثيق الخطأ الدقيق على موقع "ردود الفعل" MS على أنه غير قابل للتكرار ، ويبدو أنه لم يتم إصلاحه أبدًا. أحصل على ملف NullReferenceException في:

CLRProfiler.ReadNewLog.ReadFile(Int64 startFileOffset, Int64 endFileOffset, ReadLogResult readLogResult)
at CLRProfiler.MainForm.checkProcessTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

هل لدى أي شخص أي أفكار كيف يمكنني الحصول على المساعدة إما ، أو من الناحية المثالية الحصول على الشيء اللعين للتشغيل بشكل صحيح؟ تم تجاهل دعوات حزينة للمساعدة على MSDN ... شكرًا!

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

المحلول

Profiler CLR غير مستقر تمامًا ، واجهت أيضًا العديد من الحوادث.

أحد التلميحات التي سمعتها في PDC هي استخدامها فقط كأداة لقطة: لا تجمع معلومات استخدام MEM أثناء تشغيل التطبيق ، ولكن أوقف التطبيق عند نقطة تعرف أن لديك مشكلة MEM بالفعل ، وجعل لقطة MEM.

وبهذه الطريقة ، يكون الأمر أكثر استقرارًا ، وعادة ما يكون من الرسم البياني المرجعي الذي يمكنك اكتشافه على أي حال يمكن أن تكتشف ما يسبب التسرب.

نصائح أخرى

أظن أن هذا هو طريق ميت. ربما جرب Jetbrains dottrace; ؛ يمكنك الحصول على مجانية 10 أيام محاكمة لمعرفة ما إذا كان هذا مناسبًا.

واجهنا مشكلة مماثلة أثناء تصحيح الأخطاء الماموث على خادم Citrix عن بُعد فشل في تحليله.

تمكنا من العثور على المشكلة باستخدام Windbg

بالإضافة إلى ذلك يمكن أن يساعد هذا أيضًا cordbg

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