كيفية تفريغ فقط عنوان كائن أول مع! Dumpheap (. تحميل SOS)
-
18-09-2019 - |
سؤال
أنا habe بضعة ملايين كائنات معلقة في الذاكرة. أريد أن أجد gcrots لهم لذلك أحتاج إلى عنوان كائن. Dumpheap لكن مقالب جميع الكائنات التي تستغرق وقتا أطول مما كان لدي الصبر للانتظار. كيف يمكنني الحد من إخراجها إلى عنوان كائن واحد فقط؟ أنا أستخدم Visual Studio 2008 BTW.
المحلول
جايسون إيفانز على حق. لا يحتوي الإصدار الخاص بي على مفتاح -L، لذلك هنا هو الحل البديل الذي أستخدمه: يمكنني استخدام المعلمة النهائية لتقييد الإخراج إلى نطاق عنوان مثل هذا:
!dumpheap -mt 0794f29c 0 04000000
العنوان الأخير هو أعلى عنوان يسمح به. من خلال زيادة العنوان في خطوات صغيرة، أضربت في النهاية الكائنات القليلة الأولى.
نصائح أخرى
!dumpheap -type System.String -short
سوف تفريغ عنوان الكائنات فقط
أفضل مكان للبدء هو الوسيطة -stat. سيؤدي ذلك إلى تفريغ ملخص جدول الكائنات الحية بدلا من كل كائن في النظام. وسوف تعطيك فكرة جيدة عن الأشياء التي لا سيما تسبب معظمها
!dumpheap -stat
أود أيضا إلقاء نظرة على مقالات المدونات التالية لأنها موجهة لمساعدة الناس على استخدام WINDBG لتتبع هذا النوع من المشكلة