سؤال

أنا habe بضعة ملايين كائنات معلقة في الذاكرة. أريد أن أجد gcrots لهم لذلك أحتاج إلى عنوان كائن. Dumpheap لكن مقالب جميع الكائنات التي تستغرق وقتا أطول مما كان لدي الصبر للانتظار. كيف يمكنني الحد من إخراجها إلى عنوان كائن واحد فقط؟ أنا أستخدم Visual Studio 2008 BTW.

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

المحلول

جايسون إيفانز على حق. لا يحتوي الإصدار الخاص بي على مفتاح -L، لذلك هنا هو الحل البديل الذي أستخدمه: يمكنني استخدام المعلمة النهائية لتقييد الإخراج إلى نطاق عنوان مثل هذا:

!dumpheap -mt 0794f29c 0 04000000

العنوان الأخير هو أعلى عنوان يسمح به. من خلال زيادة العنوان في خطوات صغيرة، أضربت في النهاية الكائنات القليلة الأولى.

نصائح أخرى

!dumpheap -type System.String -short

سوف تفريغ عنوان الكائنات فقط

الدفع هذه صفحة. يبدو أنه يمكنك استخدام

-l X

للحد من عدد العناصر المعروضة.

أفضل مكان للبدء هو الوسيطة -stat. سيؤدي ذلك إلى تفريغ ملخص جدول الكائنات الحية بدلا من كل كائن في النظام. وسوف تعطيك فكرة جيدة عن الأشياء التي لا سيما تسبب معظمها

!dumpheap -stat

أود أيضا إلقاء نظرة على مقالات المدونات التالية لأنها موجهة لمساعدة الناس على استخدام WINDBG لتتبع هذا النوع من المشكلة

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