سؤال

يصف MSDN UnhandledExceptionFilter على النحو التالي: "وظيفة محددة من قبل التطبيق تمرر استثناءات غير معلنة إلى مصحح الأخطاء ، إذا تم تصحيح العملية."

ولكن يتم توفير هذه الوظيفة بوضوح بواسطة نظام التشغيل ، في kernel32.dll وفقًا لتلك الصفحة نفسها.

فلماذا يسمونها وظيفة محددة التطبيق?

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

المحلول

نعم ، لغة محرجة للغاية. إنها النموذج المبدئي تعريف الوظيفة. التي يمكنك استخدامها مع الكلمة الرئيسية __except أو كوسيطة إلى setUnhandledExceptionFilter (). إما أن تجعل لك "وظيفة محددة التطبيق".

هناك معالجة افتراضية إذا لم تفعل ذلك ، يتوقف مصحح الأخطاء تلقائيًا باستثناء غير معقول. ما أفترض أنه ما قصده مع "هذا يمر باستثناءات إلى مصحح الأخطاء". مستندات SDK لـ SEH تستحق درجة فاشلة شاملة.

نصائح أخرى

UnhandledExceptionFilter () نفسها ليست وظيفة خاصة بها المقدمة من kernel (على الرغم من أن kernel تنفذ تنفيذها الافتراضي الخاص الذي يتم استخدامه حتى تتجاوزه مع خاصتك). توضح وثائق UnhandleDexceptionFilter () التي تقتبسها نموذجًا أوليًا ، يجب عليك اتباعه إذا اخترت تنفيذ وظيفتك الخاصة ونقلها إلى وظيفة setUnhandleDexceptionFilter () لتنشيطها داخل الكيرنيل.

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