سؤال

عندما أستخدم ! HTRACE -DIFF في WINDBG لتصحيحالتعامل مع تسرب، أحصل على الكثير من المقابض (ربما تلك التي تسريب) التي لا تظهر كنداستاك:

ما يمكن أن يكون سبب هذا وما هي الخيارات التي يجب علي تصحيح هذا الأمر كذلك؟ giveacodicetagpre.

تحديث : يبدو أن تسرب المقبض اعتمادا على برامج تشغيل الرسوم البيانية أو بطاقات الرسومات.يبدأ التسرب عند استخدام أي شكل من أشكال WPF، فإن تسرب فقط على بعض أنظمة Windows XP باستخدام بطاقات / برامج تشغيل رسومية معينة.

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

المحلول

Calls are performed in kernel mode by ZwOpenProcess routine (http://msdn.microsoft.com/en-us/library/windows/hardware/ff567022(v=vs.85).aspx) and not followed by a ZwClose call. Then the handle leaks. You don't see the callstacks because they are only available when calls are performed from user mode (OpenProcess / CloseHandle).

On an XP SP3, it seems difficult to find the culprit. The solution would be to use the 'Object reference tracing' functionality built in the OS, but this path is paved with issues (see http://www.osronline.com/showthread.cfm?link=198302 for further references). Since you found out this issue arises only when a particular video card is present, you can try to contact the vendor or check for a newer version of the driver.

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