assertions

ينطبق هذا الموضوع على:

النسخة

Visual Basic

C#‎

#F

C++‎

مطور الويب

Express

الموضوع الذي لا ينطبق الموضوع الذي لا ينطبق الموضوع الذي لا ينطبق

أصلي فقط

الموضوع الذي لا ينطبق

pro ، Premium و Ultimate

الموضوع الذي لا ينطبق الموضوع الذي لا ينطبق الموضوع الذي لا ينطبق

أصلي فقط

الموضوع الذي لا ينطبق

تحديد عبارة تأكيد شرط التي تتوقعها إلى اضغط صحيحاً عند يؤشر معينة في البرنامج. إذا لم هذا الشرط تقييد true، التأكيد فشل، تنفيذ البرنامج الخاص بك هو مقاطعة، ويظهر من صندوق الحوار "فشل التأكيد.

يعتمد Visual C + + asserti تشغيل عبارات يعمل تشغيل cتشغيلstructs التالية:

يمكنك استخدم assertions إلى:

MFC و C تشغيل-الوقت مكتبة Assertions

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

من خلال liberal استخدم من assertions في تعليمات برمجية الخاصة بك، يمكنك التقاط العديد من الأخطاء أثناء التطوير. قاعدة بضاعة هو للكتابة تأكيد للافتراض كل إجراء. إذا قمت بافتراض التي وسيطة هو غير فارغة، على سبيل المثال، استخدم عبارة تأكيد للتحقق من وجود هذا الافتراض.

_debug

تأكيد ترجمة عبارات فقط حين _DEBUG هو المعرفة. عند _DEBUG هو غير معرفة، المحول البرمجي كمكافئ assertions عبارات فارغة. ولذلك، عبارات التأكيد صفر الحمل في برنامج الإصدار النهائي الخاص بك؛ يمكنك استخدامها liberally في تعليمات برمجية الخاصة بك دون التأثير على أداء الإصدار الإصدار الخاص بك و دون الحاجة إلى استخدام #ifdefتوجيهات.

تأثيرات جانبية من استخدام Assertions

عندما تقوم بإضافة assertions للتعليمات البرمجية الخاصة بك، تأكد من أن لم يكن assertions جانب تأثيرات. على سبيل المثال، خذ بعين الاعتبار التأكيد التالية:

ASSERT(nM++ > 0); // Don't do this!

لأن التعبير ASSERT هو لا يتم تقييم في نسخة الإصدار البرنامج الخاص بك، nMسيكون قيم مختلفة في التصحيح والإصدار الالإصدارات. في MFC، يمكنك استخدم الماكرو التحقق بدلاً من ASSERT . فحص يتم تقييم التعبير ولكن لا يتحقق النتيجة يطرح المنتج الإصدار.

انتبه خاصة حول استخدام استدعاء دالة في عبارات التأكيد، لأن جاري الآن التقييم دالة يمكن أن يكون للآثار الجانبية غير متوقع.

ASSERT ( myFnctn(0)==1 ) // unsafe if myFnctn has side effects
VERIFY ( myFnctn(0)==1 ) // safe

التحقق باستدعاء myFnctnفي إصدارات التصحيح والإصدار، لذلك من المقبول إلى الاستخدام. لا يزال لديك مقدار الحمل من دالة غير الضرورية يتصل في الإصدار الإصدار، على الرغم من ذلك.

راجع أيضًا:

المرجع

التأكيدات في التعليمات البرمجية المدارة

المبادئ

مصحح الأخطاء الأمان

موارد أخرى

تصحيح تعليمات برمجية الأصلية