سؤال

لقد حصلت على Xcode 3.1.2 على OS X 10.5.5.لدي مشروع iPhone يعمل بشكل جيد ولكن مصحح الأخطاء لن يصل إلى أي من نقاط التوقف التي قمت بتعيينها.لقد جربت جميع الإصلاحات القياسية التي أجدها على الشبكة:

  1. لقد قمت بإيقاف تشغيل "تحميل الرموز بتكاسل" في تفضيلات Xcode
  2. التكوين النشط الخاص بي هو Debug
  3. مستوى التحسين هو 0 في إعدادات البناء
  4. لقد قمت بتنظيف كافة الأهداف وإعادة بنائها
  5. أستخدم Build and Debug (بدلاً من Build and Run)

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

آمل أن أفتقد شيئًا سهلاً هنا.كان مصحح الأخطاء الخاص بي يعمل قبل بضعة أيام فقط ولكن فجأة توقف.


تحديث:

الأمور أصبحت غريبة.فيما يلي بعض الإجابات على الردود

  1. لا يمكنني العثور على خيارات "GCC 4.0 - إنشاء الأكواد" في أي مكان.لقد بدت مرحبًا ومنخفضًا في كل من صفحات الهدف والمعلومات القابلة للتنفيذ.الخيار الوحيد الذي أراه هو تحديد إصدار المترجم، ويتم تحديد مجلس التعاون الخليجي 4.0، ولكن هذا قسم من سطر واحد بدون خيارات إضافية.
  2. حول مكان وضع نقاط التوقف:نقطة التوقف الوحيدة لدي حاليًا هي في main()، ولم يتم الوصول إليها
  3. أقوم ببدء تشغيل مصحح الأخطاء باستخدام الأمر Run -> Debug (/% Y).لا يوجد حتى الآن الحظ

التحديث 2:

  1. تم تغيير Base SDK في الإعدادات المستهدفة إلى Sim 2.2.1.تم تغيير SDK النشط إلى Sim 2.2.1.
  2. أستطيع الآن رؤية خيارات إنشاء التعليمات البرمجية لـGC 4.0 - تم تحديد رموز التصحيح
  3. لا يزال لا يصل إلى نقاط التوقف

هنا هو سجل وحدة التحكم (تم تعيين نقطة التوقف في السطر الأول من main.m):

[Session started at 2009-03-06 21:29:19 -0600.]
Loading program into debugger…
GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".warning: Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit" (file not found).
warning: Unable to read symbols from "UIKit" (not yet mapped into memory).
warning: Unable to read symbols for "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics" (file not found).
warning: Unable to read symbols from "CoreGraphics" (not yet mapped into memory).
Program loaded.
sharedlibrary apply-load-rules all
Attaching to program: `/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/753D12B3-777C-473B-B098-3E0AF6282545/TestApp.app/TestApp', process 577.
Re-enabling shared library breakpoint 1

يوجد أيضًا هنا سجل gdb:

t=0.000852 Tepoch=1236463545.631514
<- (gdb) 
-> 135-gdb-version
#  PBXGDB_MIGDBVersionCommand t=4.308986 Tepoch=1236463549.939648
-> 136-gdb-set auto-raise-load-levels 1
#  PBXGDB_MISetAutoRaiseSymbols t=4.309420 Tepoch=1236463549.940082
-> 139-gdb-set env __CF_USER_TEXT_ENCODING 0x0:0:0
#  PBXGDB_MISetEnvCommand t=4.309702 Tepoch=1236463549.940364
-> 140-gdb-set env USERBREAK 1
#  PBXGDB_MISetEnvCommand t=4.309935 Tepoch=1236463549.940598
-> 141-gdb-set env DYLD_FRAMEWORK_PATH /Projects/TestApp/build/Debug-iphonesimulator
#  PBXGDB_MISetEnvCommand t=4.310175 Tepoch=1236463549.940837
-> 142-gdb-set env Apple_PubSub_Socket_Render /tmp/launch-GqkpX5/Render
#  PBXGDB_MISetEnvCommand t=4.310568 Tepoch=1236463549.941231
-> 143-gdb-set env SECURITYSESSIONID 715cd0
#  PBXGDB_MISetEnvCommand t=4.310803 Tepoch=1236463549.941465
-> 144-gdb-set env DYLD_LIBRARY_PATH /Projects/TestApp/build/Debug-iphonesimulator
#  PBXGDB_MISetEnvCommand t=4.311040 Tepoch=1236463549.941702
-> 145-gdb-set env SSH_AUTH_SOCK /tmp/launch-hRgLzb/Listeners
#  PBXGDB_MISetEnvCommand t=4.311299 Tepoch=1236463549.941961
-> 146-gdb-set env HOME /var/root
#  PBXGDB_MISetEnvCommand t=4.311587 Tepoch=1236463549.942250
-> 147-gdb-set env SHELL /bin/sh
#  PBXGDB_MISetEnvCommand t=4.311818 Tepoch=1236463549.942480
-> 148-gdb-set env DYLD_NO_FIX_PREBINDING YES
#  PBXGDB_MISetEnvCommand t=4.312048 Tepoch=1236463549.942710
-> 149-gdb-set env COMMAND_MODE unix2003
#  PBXGDB_MISetEnvCommand t=4.312281 Tepoch=1236463549.942943
-> 150-gdb-set env DYLD_NEW_LOCAL_SHARED_REGIONS YES
#  PBXGDB_MISetEnvCommand t=4.312546 Tepoch=1236463549.943209
-> 151-gdb-set env SSH_ASKPASS /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/Xcode SSHPassKey
#  PBXGDB_MISetEnvCommand t=4.312780 Tepoch=1236463549.943443
-> 152-gdb-set env PATH /Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
#  PBXGDB_MISetEnvCommand t=4.313612 Tepoch=1236463549.944275
-> 153-gdb-set env DISPLAY /tmp/launch-yrv3vV/:0
#  PBXGDB_MISetEnvCommand t=4.313849 Tepoch=1236463549.944512
-> 154-gdb-set env USER root
#  PBXGDB_MISetEnvCommand t=4.314141 Tepoch=1236463549.944803
-> 155-gdb-set env NSUnbufferedIO YES
#  PBXGDB_MISetEnvCommand t=4.314377 Tepoch=1236463549.945039
#  Enqueue seq in Command Q: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.314625 Tepoch=1236463549.945288
#  Executing Sequence: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.314718 Tepoch=1236463549.945380
-> 157-gdb-set inferior-auto-start-cfm off
#  PBXGDB_MISetLoadCFMInfoCommand t=4.314895 Tepoch=1236463549.945557
-> 156-gdb-set sharedLibrary load-rules dyld ".*Foundation.*" all dyld ".*libobjc.*" all dyld ".*libauto.*" all dyld ".*/usr/lib/dyld.*" all dyld ".*CFDataFormatters.*" all dyld ".*PBGDBIntrospectionSupport.*" all dyld ".*AppKit.*" all dyld ".*libSystem.*" all dyld ".*CarbonDataFormatters.*" all dyld ".*CoreFoundation.*" extern dyld "/System/Library/Frameworks\\\\|/System/Library/PrivateFrameworks\\\\|/usr/lib" extern dyld ".*" extern exec ".*" extern 
#  PBXGDB_MISetSharedLibraryLoadSymbolsCommand t=4.315975 Tepoch=1236463549.946637
-> 137-file-exec-and-symbols "/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp"
#  PBXGDB_MILoadExecutableCommand t=4.320612 Tepoch=1236463549.951275
#  Enqueue seq in Command Q: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.321476 Tepoch=1236463549.952138
#  Enqueue seq in Command Q: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.321941 Tepoch=1236463549.952603
#  Enqueue seq in Command Q: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=4.322157 Tepoch=1236463549.952820
<- ~"GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)\n"
<- ~"Copyright 2004 Free Software Foundation, Inc.\n"
<- ~"GDB is free software, covered by the GNU General Public License, and you are\nwelcome to change it and/or distribute copies of it under certain conditions.\nType \"show copying\" to see the conditions.\nThere is absolutely no warranty for GDB.  Type \"show warranty\" for details.\n"
<- ~"This GDB was configured as \"i386-apple-darwin\"."
<- 135^done,version="6.3.50-20050815 (Apple version gdb-962)",rc_version="962",target="i386-apple-darwin",build-date="Sat Jul 26 08:14:40 UTC 2008",time={wallclock="0.03311",user="0.00081",system="0.00014",start="1236463549.989179",end="1236463550.022291"}
#  processing result t=4.392345 Tepoch=1236463550.023007
<- (gdb) 
<- 136^done,time={wallclock="0.00005",user="0.00005",system="0.00001",start="1236463550.024272",end="1236463550.024325"}
#  processing result t=4.394163 Tepoch=1236463550.024826
<- (gdb) 
<- 139^done,time={wallclock="0.00007",user="0.00005",system="0.00002",start="1236463550.025511",end="1236463550.025581"}
#  processing result t=4.395347 Tepoch=1236463550.026010
<- (gdb) 
<- 140^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.026564",end="1236463550.026597"}
#  processing result t=4.396328 Tepoch=1236463550.026991
<- (gdb) 
<- 141^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.027857",end="1236463550.027890"}
#  processing result t=4.397653 Tepoch=1236463550.028315
<- (gdb) 
<- 142^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.029080",end="1236463550.029113"}
#  processing result t=4.398865 Tepoch=1236463550.029528
<- (gdb) 
<- 143^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.030126",end="1236463550.030159"}
#  processing result t=4.399923 Tepoch=1236463550.030585
<- (gdb) 
<- 144^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.031449",end="1236463550.031482"}
#  processing result t=4.401855 Tepoch=1236463550.032518
<- (gdb) 
<- 145^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.033257",end="1236463550.033291"}
#  processing result t=4.403022 Tepoch=1236463550.033685
<- (gdb) 
<- 146^done,time={wallclock="0.00006",user="0.00003",system="0.00002",start="1236463550.034226",end="1236463550.034287"}
#  processing result t=4.404018 Tepoch=1236463550.034680
<- (gdb) 
<- 147^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.035215",end="1236463550.035247"}
#  processing result t=4.405007 Tepoch=1236463550.035670
<- (gdb) 
<- 148^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.036306",end="1236463550.036340"}
#  processing result t=4.406068 Tepoch=1236463550.036731
<- (gdb) 
<- 149^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.037344",end="1236463550.037377"}
#  processing result t=4.407107 Tepoch=1236463550.037770
<- (gdb) 
<- 150^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.038448",end="1236463550.038483"}
#  processing result t=4.408214 Tepoch=1236463550.038876
<- (gdb) 
<- 151^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.040541",end="1236463550.040576"}
#  processing result t=4.410438 Tepoch=1236463550.041101
<- (gdb) 
<- 152^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.041901",end="1236463550.041933"}
#  processing result t=4.411665 Tepoch=1236463550.042327
<- (gdb) 
<- 153^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.042984",end="1236463550.043016"}
#  processing result t=4.412784 Tepoch=1236463550.043446
<- (gdb) 
<- 154^done,time={wallclock="0.00003",user="0.00002",system="0.00001",start="1236463550.043956",end="1236463550.043988"}
#  processing result t=4.413717 Tepoch=1236463550.044379
<- (gdb) 
<- 155^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.044974",end="1236463550.045007"}
#  processing result t=4.414737 Tepoch=1236463550.045400
<- (gdb) 
<- 157^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.046108",end="1236463550.046141"}
#  processing result t=4.415931 Tepoch=1236463550.046594
<- (gdb) 
<- 156^done,time={wallclock="0.00005",user="0.00005",system="0.00001",start="1236463550.050271",end="1236463550.050324"}
#  processing result t=4.420235 Tepoch=1236463550.050897
-> 158sharedlibrary apply-load-rules all
#  PBXGDB_MISharedLibraryApplyLoadRulesCommand t=4.420386 Tepoch=1236463550.051049
<- (gdb) 
<- &"warning: Unable to read symbols for \"/System/Library/Frameworks/UIKit.framework/UIKit\" (file not found).\n"
<- &"warning: Unable to read symbols from \"UIKit\" (not yet mapped into memory).\n"
<- &"warning: Unable to read symbols for \"/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics\" (file not found).\n"
<- &"warning: Unable to read symbols from \"CoreGraphics\" (not yet mapped into memory).\n"
<- 137^done,time={wallclock="0.34917",user="0.17115",system="0.11409",start="1236463550.052577",end="1236463550.401747"}
#  processing result t=4.771918 Tepoch=1236463550.402580
<- (gdb) 
<- &"sharedlibrary apply-load-rules all\n"
<- 158^done
#  processing result t=4.820019 Tepoch=1236463550.450681
#  didFinish Sequence: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.820135 Tepoch=1236463550.450797
#  Executing Sequence: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.820259 Tepoch=1236463550.450921
-> 159-mi-verify-command file-fix-file-is-grooved
#  PBXGDB_MIVerifyCommandCommand t=4.820398 Tepoch=1236463550.451060
<- (gdb) 
<- 159^done,name="file-fix-file-is-grooved",defined="true",implemented="true",time={wallclock="0.00011",user="0.00007",system="0.00001",start="1236463550.451848",end="1236463550.451955"}
#  processing result t=4.821746 Tepoch=1236463550.452409
-> 160-file-fix-file-is-grooved
#  PBXGDB_MIFixAndContinueSupportedCommand t=4.821894 Tepoch=1236463550.452556
<- (gdb) 
<- 160^done,supported="1",details="Yes grooved!",time={wallclock="0.00006",user="0.00005",system="0.00002",start="1236463550.453356",end="1236463550.453417"}
#  processing result t=4.823203 Tepoch=1236463550.453865
#  didFinish Sequence: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.823344 Tepoch=1236463550.454006
#  Executing Sequence: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.823433 Tepoch=1236463550.454095
#  Passed verification of state before break create command t=4.823569 Tepoch=1236463550.454231
-> 161-break-insert -l -1 -f  -s "TestApp" "\"main.m:13\""
#  PBXGDB_MICreateFileBreakpointCommand t=4.823679 Tepoch=1236463550.454342
<- (gdb) 
<- =shlib-state-modified,shlib-info=[num="1",name="TestApp",kind="-",dyld-addr="-",reason="exec",requested-state="Y",state="Y",path="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",description="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",loaded_addr="",slide="0x0",prefix="",dsym-objpath="/Projects/TestApp/build/Debug-iphonesimulator/TestApp.app.dSYM/Contents/Resources/DWARF/TestApp"]
<- 161^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x000028cf",func="main",file="/Projects/TestApp/main.m",line="13",shlib="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",times="0"},time={wallclock="0.15835",user="0.00321",system="0.00184",start="1236463550.455187",end="1236463550.613542"}
#  processing result t=4.996437 Tepoch=1236463550.627100
#  didFinish Sequence: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.996599 Tepoch=1236463550.627262
#  Executing Sequence: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=4.996690 Tepoch=1236463550.627352
-> 162-mi-verify-command target-attach
#  PBXGDB_MIVerifyCommandCommand t=4.996824 Tepoch=1236463550.627486
<- (gdb) 
<- 162^done,name="target-attach",defined="true",implemented="true",time={wallclock="0.00007",user="0.00006",system="0.00001",start="1236463550.627975",end="1236463550.628046"}
#  processing result t=4.998137 Tepoch=1236463550.628799
-> 163-target-attach 288
#  PBXGDB_MIAttachCommand t=4.998293 Tepoch=1236463550.628955
<- (gdb) 
<- ~"Attaching to program: `/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp', process 288.\n"
<- ~"Re-enabling shared library breakpoint 1\n"
<- =shlibs-updated
<- 163^done,thread-id="1",time={wallclock="0.00362",user="0.00151",system="0.00203",start="1236463550.629436",end="1236463550.633055"}
#  processing result t=5.010455 Tepoch=1236463550.641117
#  Enqueue seq in Command Q: <PBXGDB_ThreadListSequence: 0xa4e0520> t=5.011284 Tepoch=1236463550.641946
-> 164-exec-continue
#  PBXGDB_MIContinueExecutableCommand t=5.011420 Tepoch=1236463550.642082
<- (gdb) 
<- 164^running
#  processing result t=5.070065 Tepoch=1236463550.700727
#  didFinish Sequence: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=5.071843 Tepoch=1236463550.702505
<- (gdb) 
هل كانت مفيدة؟

المحلول

لا يمكنني العثور على خيارات "GCC 4.0 - Code Generation" في أي مكان.لقد نظرت إلى Hi و Low في كل من صفحات المعلومات المستهدفة والقابلة للتنفيذ.الخيار الوحيد الذي أراه هو تحديد إصدار برنامج التحويل البرمجي ، ويتم تحديد GCC 4.0 ، ولكن هذا هو قسم خط واحد بدون خيارات إضافية.

يعد هذا خطأ في Xcode في الإصدارين 3.1.1 و3.1.2 إذا كان Active SDK غير متزامن مع Base SDK للهدف.قم بتعيين SDK الأساسي للهدف على Simulator، وتأكد من أن Active SDK الخاص بك هو Simulator، ثم حاول مرة أخرى.

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

محدث:لاحظ أيضًا في Xcode > التفضيلات > تصحيح الأخطاء:نص بديل http://idisk.mac.com/cdespinosa/Public/GDB%20Log.png

حدد المربع، وأدخل مسارًا معقولاً في حقل المسار، ثم جرب سيناريو تصحيح الأخطاء الخاص بك، ثم سجل خطأً على http://bugreporter.apple.com مع السجل المرفق ووصف السيناريو الخاص بك، أو اسأل الأشخاص الطيبين على xcode-users@lists.apple.com.يحتوي سجل gdb على كافة المعلومات حول كيفية تفاعل مصحح الأخطاء مع تطبيقك.

نصائح أخرى

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

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

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

ال دول مجلس التعاون الخليجي 4.0 - إنشاء الكود يظهر القسم فقط عند تعيين Active SDK على الجهاز - نظام التشغيل iPhone 2.x.إذهب واستنتج.تختفي عندما يكون Active SDK هو المحاكي.

يجب عليك تغيير Active SDK الخاص بك إلى الجهاز، وتغيير الإعدادات، ثم العودة مرة أخرى إلى Simulator.يجب أيضًا أن تكون الإعدادات التي تم إجراؤها ضمن الجهاز مخصصة لـ Simulator.وهذا يعمل أيضًا مع على سبيل المثال.تعيين علامة -DDEBUG للمعالجة المسبقة.

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

اقتراح بسيط آخر:
هل نقاط التوقف باللون الأزرق الفاتح هي باللون الأزرق الداكن؟

يسمح لك Xcode بإلغاء تنشيط نقاط التوقف ويتم الإشارة إليها بسهم أزرق فاتح (كما لو كانت باهتة).

حاول تشغيل المشروع بالضغط على Command-Option-Y (وهذا يفرض على Xcode بدء البرنامج باستخدام مصحح الأخطاء).

يمكن أن تكون الأزرار الموجودة على شريط القوائم في Xcode مضللة إلى حد ما.إذا كان الزر يقول "تشغيل"، فهو لا يقوم بتشغيل البرنامج في مصحح الأخطاء.إذا كانت عبارة "Go"، فإنها تقوم بتشغيل البرنامج على الرغم من أنه تم إنشاؤه آخر مرة (أي الإصدار أو التصحيح).يقوم Command-Option-Y بتشغيل البرنامج على وجه التحديد في مصحح الأخطاء.

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

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

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

عندما يكون البرنامج قيد التشغيل، هل يمكنك الضغط على CTRL-C في نافذة وحدة التحكم (أثناء وجود المؤشر).اذا أنت يقاطع نوع البرنامج info br والتي ينبغي أن تعطي قائمة نشيط نقاط التوقف، السؤال إذن هو، هل هي ما قمت بتعيينه؟

يوجد ملفان لتكوين gdb يمكن إلقاء نظرة عليهما.

  • /etc/gdb.conf

لدي MD5 (/etc/gdb.conf) = 31b58e1ecf038554faadf777d63e9085

  • ~/.gdbinit

ليس لدي، هل لديك واحدة؟

هل قمت بالتحقق من أن تكوين البناء الخاص بك يستخدم شهادة التطوير الخاصة بك لتوقيع التعليمات البرمجية؟

إذا كنت تستخدم شهادة Ad Hoc، فسيظل يتم إنشاؤها وتشغيلها بشكل جيد، ولكن بعد وقت قصير من تشغيل التطبيق، سيتم فصل Xcode عن الجهاز حتى لا يتم الوصول إلى أي نقاط توقف على الإطلاق.يمكنك معرفة ما إذا كان قد تم فصله أم لا بسرعة إذا نظرت إلى الجزء السفلي الأيسر من نافذة Xcode الرئيسية بعد النقر فوق Build & Go - إذا كنت لا تستخدم شهادة جهاز التطوير الفعلية، فسترى رسالة مفادها يقول شيئًا مثل "تم استلام رمز سداسي عشري غير صالح من الجهاز".

يبدو أنك تقوم بتشغيل البرنامج كـ root, ، لا يبدو أن هذا صحيحا...

في قائمة إعدادات البناء الخاصة بك، فإنك لا تغطي الأكثر أهمية:

نص بديل http://idisk.mac.com/cdespinosa/Public/Generate%20Debug%20Symbols.png

تأكد من تحديد إنشاء رموز التصحيح لتكوين التصحيح، وتأكد من أن تكوين التصحيح نشط عند الإنشاء والتصحيح.

هناك شيئان آخران يجب تجربتهما:

1) قم بإلغاء تحديد الإصلاح والمتابعة.يشير سجل gdb التفصيلي إلى أنه قد يكون قيد التشغيل.تأكد من أنك تنظر إلى إعدادات الهدف وليس إعدادات المشروع عند تأكيد ذلك.

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

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

If you are using an Ad Hoc certificate, it'll still build and run fine, but shortly after launching the app, Xcode will detach from the device so no breakpoints will ever hit.

هذا ساعدني.

يجب أن أسأل، لأنني واجهت نفس المشكلة، هل هذا جهاز Mac "حقيقي"؟هناك هذه المشكلة بالضبط مع نواة الفودو هاسينتوش.إذا كنت تستخدم نواة الفودو، قم بالتشغيل باستخدام std_dyld=1 وسيكون كل شيء على ما يرام

يعمل هذا حقًا على Voodoo kernel، حيث يؤدي التشغيل باستخدام std_dyld=1 إلى إيقاف Xcode عند نقطة التوقف.نصيحة مذهلة، حقا.شكرا جزيلا لك جون، نوع من منقذ حياتك !!!لقد استخدمت OSX86Tools لإضافة علامة التمهيد هذه تلقائيًا.بولو

لقد جربت كل شيء تقريبًا في هذا الموضوع وأدى إعادة تشغيل الجهاز إلى حل مشكلتي.

أنا فقط كان نفس المشكلة.ليس لدي حل حقيقي حتى الآن، لكنني اكتشفت أن الأمر في حالتي يعتمد على الجهاز.يحدث الخطأ فقط على جهاز iPod Touch 4G الخاص بي.عندما أقوم بالتبديل إلى جهاز iPhone 3G الخاص بي، كل شيء يعمل بشكل جيد وتعمل نقاط التوقف مرة أخرى.

لا أعرف ما إذا كان لهذا علاقة بالمشكلة، ولكن قد يكون هناك مشكلة في iPod4 بسبب تثبيت الإصدار التجريبي الثاني من iOS 5.عادةً عندما أواجه خطأً في نظام التشغيل iOS 5، فلا بأس من إعادة تشغيل الجهاز.لكن...إعادة تشغيل جهاز iPod4 لم يساعد في حالتي ...

حل:

لقد أزعجتني هذه المشكلة لعدة أسابيع، لكنني وجدت أخيرًا حلاً لحالتي:

  1. تأكد من أن SDK الموجود على جهاز Mac الخاص بك هو نفسه (أو أحدث) مثل إصدار iOS على جهازك.
  2. أعد تشغيل الجهاز أثناء توصيله عبر USB وتشغيل Xcode.

كان لدى موقف مشابه..وبعد 6 ساعات من التصحيح ومقارنة ملفات المشروع، نجح الأمر أخيرًا.كان الموقف هو أن لدي مشروعًا عمره عامين تم إنشاؤه في الأصل في Xcode 3.1 يومًا.لقد حاولت تشغيله في Xcode 4.5.1 باستخدام نقاط التوقف ولم ينجح أبدًا.

وهنا ما فعلته لإصلاحه..

1) في المشروع> بناء الإعدادات ..البحث عن التصحيح.

إنه يسير بشكل جيد الآن.

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

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