سؤال

لقد قمت بتعيين نقاط توقف ولكن يبدو أن Xcode يتجاهلها.

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

المحلول

في البداية، أنا أتفق بنسبة 100% مع الأشخاص السابقين الذين قالوا الدور عن Load Symbols Lazily.

لدي شيئين آخرين لأضيفهما.

(يبدو اقتراحي الأول واضحا، ولكن في المرة الأولى التي اقترحها علي شخص ما، كان رد فعلي على النحو التالي:"هيا، من فضلك، أنت تعتقد حقا أنني لن أعرف أفضل ......أوه.")

  1. تأكد من أنك لم تقم عن طريق الخطأ بتعيين "Active Build Configuration" على "Release".

  2. ضمن "الأهداف" في عرض الأشجار الرسومية لمشروعك ، انقر بزر الماوس الأيمن على الهدف الخاص بك وافعل "احصل على معلومات". ابحث عن خاصية تسمى "إنشاء رموز تصحيح" (أو ما شابه) وتأكد من فحص ذلك (ويعرف أيضًا باسم ON).يمكنك أيضًا محاولة البحث (أيضًا في Target >> Get Info) عن خاصية تسمى "Debug Information Format" وتعيينها على "Dwarf with dsym file".

هناك عدد من الخصائص الأخرى ضمن الهدف >> الحصول على معلومات قد تؤثر عليك.ابحث عن أشياء مثل تحسين التعليمات البرمجية أو ضغطها، وقم بإيقاف تشغيل هذه الأشياء (أفترض أنك تعمل في وضع التصحيح، لذا فهذه ليست نصيحة سيئة).ابحث أيضًا عن أشياء مثل تجريد الرموز وتأكد من إيقاف تشغيلها أيضًا.على سبيل المثال، يجب تعيين "Strip Linked Product" على "No" لهدف التصحيح.

نصائح أخرى

في Xcode 7، ما نجح بالنسبة لي هو:

1) تأكد من أن الهدف -> المخطط -> تشغيل - في وضع التصحيح (كان الإصدار)

2) تأكد من تحديد خيار "Debug Executable" انظر أدناه:

enter image description here

انتقل إلى تفضيلات تصحيح أخطاء Xcode.تأكد من عدم تحديد "تحميل الرموز بتكاسل".

كنت أواجه نفس المشكلة (مرة أخرى).بعد التحقق الثلاثي من "تحميل الرموز بتكاسل" وتجريد إشارات إنشاء المعلومات وتصحيح الأخطاء، قمت بما يلي:

  1. قم بإنهاء Xcode
  2. افتح نافذة طرفية وقرص مضغوط إلى دليل المشروع
  3. القرص المضغوط في الدليل .xcodeproj
  4. احذف كل شيء باستثناء ملف .pbxproj (كان لدي ملف Frank.mode1v3 و Frank.pbxuser)

يمكنك إنجاز نفس المهمة في الباحث عن طريق النقر بزر الماوس الأيمن/النقر فوق حزمة .xcodeproj واختيار "إظهار محتويات الحزمة".

عندما قمت بإعادة تشغيل Xcode، تمت إعادة تعيين جميع النوافذ إلى المواضع الافتراضية، وما إلى ذلك، ولكن نقاط التوقف عملت!

بالنسبة لـ Xcode 4.x:انتقل إلى المنتج> تصحيح سير العمل وقم بإلغاء تحديد "إظهار التفكيك عند التصحيح".

بالنسبة إلى Xcode 5.x GOTO Debug> تصحيح سير العمل وإلغاء تحديد "عرض التفكيك عند التصحيح".

انظر هذا المنصب: نقاط التوقف لا تعمل في Xcode؟.ربما تقوم بالضغط على "تشغيل" بدلاً من "تصحيح الأخطاء" وفي هذه الحالة لا يعمل برنامجك بمساعدة gdb، وفي هذه الحالة لا يمكنك توقع عمل نقاط التوقف!

سبب آخر

تعيين DeploymentPostprocessing إلى NO في BuildSettings - التفاصيل هنا

باختصار -

يشير تنشيط هذا الإعداد إلى أنه ينبغي تجريد الثنائيات وينبغي ضبط وضع الملف والمالك والمجموعة على القيم القياسية.[DEPLOYMENT_POSTPROCESSING]

enter image description here

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

بعد إضاعة بعض الوقت في تقليل المشكلة، اكتشفت أخيرًا السبب (للرمز الخاص بي):

Xcode (/ LLVM) لا يحب أسلوب البيسون #line أوامر المعالج المسبق

أدت إزالتها إلى حل المشكلة (توقف مصحح الأخطاء عند نقاط التوقف الخاصة بي).

بالنسبة إلى إكس كود 4:

go Product -> Debug ->  Activate Breakpoints

لقد جعلني هذا في Xcode 9 لمدة نصف يوم محبط.انتهى الأمر بإعداد تصحيح بسيط.

انتقل إلى Debug > Debug Workflow وتأكد من إيقاف تشغيل خيار "إظهار التفكيك دائمًا".سهل هكذا.:(

الحل بالنسبة لي مع XCode 9.4.1 (لم يتوقف عند أي نقطة توقف):

ضمن هدف البناء -> إعدادات البناء -> مستوى التحسين:تم التبديل من "تحسين السرعة" -> "لا يوجد تحسين" (الآن أصبح أبطأ ولكنه يعمل)

لدي الكثير من المشاكل مع نقاط التوقف في Xcode (2.4.1).أستخدم مشروعًا يحتوي فقط على مشاريع أخرى (مثل الحل في Visual Studio).أجد في بعض الأحيان أن نقاط التوقف لا تعمل على الإطلاق ما لم يتم تعيين نقطة توقف واحدة على الأقل في مشروع البداية (أي.الذي يحتوي على نقطة الدخول للكود الخاص بي).إذا كانت نقاط التوقف الوحيدة موجودة في مشاريع "المستوى الأدنى"، فسيتم تجاهلها.

يبدو أيضًا كما لو أن Xcode يتعامل فقط مع عمليات نقاط التوقف بشكل صحيح إذا كنت تعمل على نقطة التوقف عندما تكون في المشروع الذي يحتوي على السطر المصدر الذي تعمل عليه نقطة التوقف.

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

لقد كانت نقاط التوقف الخاصة بي لا تعمل ثم قمت ببناء/تنظيف جميع الأهداف لجعلها تعمل مرة أخرى.

أعتقد أن المشكلة قد تكون عدم التوافق بين إصدارات الجهاز وXcode.أواجه هذه المشكلة عند محاولة تصحيح الأخطاء على جهاز iPhone 4S الذي يعمل بنظام iOS 5.0.1.ما زلت أستخدم Xcode 3.2.5.حصلت على الرموز من الهاتف عن طريق تحديد "استخدام هذا الجهاز للتطوير" في نافذة المنظم.هذا الهاتف يرفض نقطة التوقف ولكن.جهازي 3GS القديم سوف نقطة التوقف، نفس مشروع Xcode، نفس الإعدادات...مجرد جهاز مختلف ويعمل بنظام iOS 4.0.أعتقد أن هذا خطأ في Xcode في الإصدار 3.2.5، نظرًا لأنني أملك الرموز.بعد تجربة جميع الحلول المنشورة هنا حتى الآن، قررت أن الحل لمشكلتي هو المضي قدمًا والترقية إلى XCode 4.ربما لا يمكنك تصحيح الأخطاء بشكل فعال ما لم تكن مجموعة SDK الأساسية الخاصة بك على الأقل بنفس مستوى النظام الذي سيتم تصحيح الأخطاء عليه.ربما هذا واضح - هل يمكن لأحد أن يؤكد ذلك؟

يحرر:سأقوم بالتحديث عندما أتمكن من تأكيد صحة هذا.

أدى حذف مجلد Build الخاص بي إلى حل المشكلة بالنسبة لي.

لهذا، وكذلك لـ Xcode 6 وما فوق، تأكد من تنشيط زر حالة نقطة التوقف (الزر الذي يشبه السهم الأزرق):

enter image description here

في اكس كود 4

- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug 
-      but I have other targets set to AdHoc which debug fine once Debugger is set

لقد وجدت المشكلة.بطريقة ما "إظهار التفكيك عند التصحيح"تم تمكينه في XCode الخاص بي مما أدى إلى حدوث هذه المشكلة.عندما قمت بتعطيله، توقف كل مصحح الأخطاء الخاص بي في كود المصدر الخاص بي.

يمكنك العثور عليه تحت: Product->Debug Workflow->Show Disassembly عند التصحيح.

يمكنك تفعيل/إلغاء تنشيط نقاط التوقف في القائمة المنسدلةenter image description here

إذا فشل كل شيء آخر، فبدلاً من نقطة التوقف، يمكنك استدعاء الوظيفة التالية:

void BreakPoint(void) {
    int i=1;
    #if !__OPTIMIZE__
    printf("Code is waiting; hit pause to see.\n");
    while(i);
    #endif
}

للاستئناف، اضبط i يدويًا على الصفر، ثم اضغط على زر الاستئناف.

لقد حدث نفس الشيء بالنسبة لي في XCode 6.3.1.تمكنت من إصلاحه عن طريق:

  • الذهاب الى عرض->الملاحون->إظهار متصفحات تصحيح الأخطاء
  • انقر بزر الماوس الأيمن في جذر المشروع -> نقل نقاط التوقف (إذا تم تحديد خيار المستخدم)
  • (لقد حددت أيضًا الخيار مشاركة نقاط التوقف, ، على الرغم من أنني لست متأكدًا مما إذا كان ذلك ضروريًا).

بعد القيام بهذا التغيير قمت بتعيين نقل نقاط التوقف خيارات العودة إلى المشروع، وإلغاء تحديد مشاركة نقاط التوقف الخيار، وما زال يعمل.

لا أعرف بالضبط السبب ولكن هذا يعيد نقاط التوقف الخاصة بي.

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

يمكن أن يكون هذا أحد الأسباب المحتملة لحدوث ذلك .... انتقل إلى المنتج> مخطط> تحرير المخطط> .. تحت تشغيل> معلومات> فحص قابل للتنفيذ "Debug Executable".

عند تعيين نقطة التوقف، انقر بزر الماوس الأيمن وستحصل على عدة خيارات حول كيفية التعامل مع نقطة التوقف (تسجيل vars والمتابعة، إيقاف التنفيذ مؤقتًا، وما إلى ذلك)

تأكد أيضًا من عدم تحديد "تحميل الرموز بتكاسل" في تفضيلات تصحيح الأخطاء.

(ينطبق على Xcode 3.1، ولست متأكدًا من الإصدارات السابقة/المستقبلية)

تأكد أيضًا من عدم تثبيت توزيع AppStore للتطبيق على الجهاز أيضًا.

شيء آخر يجب التحقق منه هو أنه إذا كان لديك ملف plist "الاستحقاقات" لوضع التصحيح الخاص بك (ربما لأنك تقوم بأشياء باستخدام Keychain)، فتأكد من أن ملف plist يحتوي على صف "get-task-allow" = YES.وبدون ذلك، سيتم كسر التصحيح والتسجيل.

يبدو أن هناك ثلاث حالات لنقاط التوقف في Xcode.إذا نقرت عليها، فسوف تمر عبر الإعدادات المختلفة.تم تمكين اللون الأزرق الداكن، وتم تعطيل اللون الرمادي، وقد رأيت لونًا أزرقًا باهتًا في بعض الأحيان تطلب مني النقر على نقطة التوقف مرة أخرى لجعله ينتقل إلى اللون الأزرق الداكن.

بخلاف ذلك تأكد من تشغيله باستخدام أمر التصحيح وليس أمر التشغيل.يمكنك القيام بذلك إما عن طريق الضغط على option + Command + return، أو خيار Go (debug) من قائمة التشغيل.

لدي Xcode 3.2.3 SDK 4.1 ستفشل نقاط التوقف بشكل عشوائي.لقد وجدت أنه إذا قمت بتنظيف البنية واستخدمت أمر اللمس ضمن البنية فإنها تعمل مرة أخرى.

إليك واحدة غامضة واجهتها:إذا كنت تعمل على مكتبة مشتركة (أو مكون إضافي)، فستتحول نقاط التوقف الخاصة بك إلى اللون الأصفر عند بدء التشغيل، مما قد يتسبب في إحباط لوحة المفاتيح الخاصة بك وإنهاء عملية التصحيح.حسنا، لا تفعل ذلك!لن يتم تحميل الرموز حتى يقوم التطبيق بتحميل المكتبة، وعندها ستصبح نقاط التوقف صالحة.لقد واجهت هذه المشكلة مع البرنامج المساعد للمتصفح ...تم تعطيل BPs حتى قمت بالتصفح للوصول إلى الصفحة التي أنشأت مثيلاً للمكون الإضافي الخاص بي.

كنت أواجه نفس المشكلة عندما أردت تصحيح مكون إضافي للويب حيث كان الملف القابل للتنفيذ المخصص هو Safari 5.1.كان يعمل بشكل جيد حتى تمت ترقية Safari إلى 5.1 من 4.0.5.بمجرد تثبيت Safari 4.0.5 مرة أخرى، بدأت جميع نقاط التوقف في العمل دون تعديل أي إعداد Xcode.

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