سؤال

أنا أستخدم asserte ماكرو للتحقق من وجود شروط مسبقة. وفقا لتعريفها، يستخدم ASSERT_BASE، والذي يتصل بدوره _crtdbgreportw بطباعة الرسالة. أين يذهب إخراج _crtdbgreportw إلى؟

أود أن أفترض أنه إذا بدأ التطبيق من مصحح الأخطاء، فسوف يذهب إلى نافذة مصحح الأخطاء. أين ستذهب الرسائل إذا لم يكن تحت مصحح الأخطاء؟

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

المحلول

الإخراج ل _crtdbgreportw. يعتمد على كيفية إعداده. افتراضيا، يرسلها إلى doughdebugstring. API.

المصارعين فخ إخراج OutputDebugString وعرضها عادة في نافذة مصحح الأخطاء كما تقترح.

هناك أيضا تطبيقات التي تحبس الناتج debugview. يمكنك استخدام تطبيقات الكمبيوتر الشخصي.

تحديث: فاتني بت Windows Mobile. ما زلت أستند أنه إخراج إلى الإخراج DebugString لكنني لا أعرف أي تطبيق طرف ثالث يعمل. الطريقة الوحيدة التي أعرفها لفخ إخراج OutputDebugSt تحت Windows Mobile هي استخدام وظائف تصحيح الأخطاء devugactionprocess. / waitfordebugild. لفخ الأحداث الناتج_debug_string_event واكتبها في مكان ما.

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