iPhone Dev:Xcode调试器不会在断点上停止

时间:2009-03-02 04:23:14

标签: iphone xcode cocoa-touch debugging xcode3.1

我在OS X 10.5.5上有Xcode 3.1.2。我有一个很好的iPhone项目,但调试器不会打到我设置的任何断点。我已经尝试了在网上找到的所有标准修复:

  1. 我在Xcode偏好设置
  2. 中关闭了“懒洋洋地加载符号”
  3. 我的主动配置是Debug
  4. 构建设置中的优化级别为0
  5. 我已清理所有目标并重建
  6. 我使用构建和调试(而不是构建和运行)
  7. 我以为我可能无意中调整了我的项目设置。所以我创建了一个新项目,并且该项目存在同样的问题。

    我希望我在这里容易丢失一些东西。我的调试器只在几天前工作,但突然间它停止了。


    更新

    事情变得越来越陌生。以下是回复的一些答案

    1. 我无法在任何地方找到'GCC 4.0 - 代码生成'选项。我在目标和可执行信息页面中都看起来很低。我看到的唯一选择是选择编译器版本,并选择GCC 4.0,但这是一个单行部分,没有其他选项。
    2. 关于断点的位置:我现在唯一的断点是在main()中,而且没有被击中
    3. 我正在使用Run运行调试器 - >调试(/%Y)命令。仍然没有运气

    4. 更新2:

      1. 将目标设置中的Base SDK更改为Sim 2.2.1。将Active SDK更改为Sim 2.2.1。
      2. 现在我可以看到GCC 4.0代码生成选项 - 检查调试符号
      3. 仍然没有达到断点
      4. 这是控制台日志(在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) 
        

19 个答案:

答案 0 :(得分:16)

  

我找不到'GCC 4.0 - 代码   世代'选择随处可见。我有   在Tar​​get和。中看起来既低又低   可执行信息页面。唯一的选择   我看到的是选择编译器   版本,并选择GCC 4.0,但是   这是一个没有的单行部分   其他选择。

如果Active SDK与目标的Base SDK不同步,那就是3.1.1和3.1.2中的Xcode错误。将Target的Base SDK设置为Simulator,确保您的Active SDK是Simulator,然后重试。

如果您真的想要这个答案,那么您将不得不发布有关您的项目的更多信息:构建设置的屏幕截图或调试器控制台中的文本。

更新: 另请注意Xcode&gt;偏好&gt;调试: alt text http://idisk.mac.com/cdespinosa/Public/GDB%20Log.png

选中此复选框,在路径字段中输入合理路径,尝试调试方案,然后在http://bugreporter.apple.com处提交附带日志的错误和您的方案说明,或者在xcode上询问好人-users@lists.apple.com。 gdb日志包含有关调试器如何与应用程序交互的所有信息。

答案 1 :(得分:3)

在Xcode首选项中,进入调试部分并关闭“懒惰加载符号”。

几个月前,当我第一次遇到这个问题时,我已经解决了这个问题。

答案 2 :(得分:1)

另一个简单的建议:
浅蓝色的断点是深蓝色吗?

Xcode允许您停用断点,这些断点用浅蓝色箭头表示(就像它已经变暗)。

答案 3 :(得分:1)

GCC 4.0 - 代码生成部分仅在您将Active SDK设置为设备 - iPhone OS 2.x 时显示。去搞清楚。当Active SDK是模拟器时,它们会消失。

您应该将Active SDK更改为设备,更改设置,然后更改回模拟器。在设备下进行的设置也应该适用于模拟器。这也适用于例如。设置-DDEBUG标志以进行预处理。

(更新:我只有一半是正确的。请参阅Chris Espinosa接受的答案:这个SDK错误。当Active SDK设置为“Device”时,并不是GCC 4.0部分出现,而是你的Base SDK和Active SDK必须匹配才能访问这些设置。)

答案 4 :(得分:1)

这是一种“插入来的”答案,但是嘿,有时这就是问题:是否启用了断点?有时在调试时,我忘记单击调试工具栏中的启用和禁用断点的按钮。

答案 5 :(得分:0)

您是否确认您的构建配置正在使用您的开发证书进行代码签名?

如果您使用的是Ad Hoc证书,它仍然可以构建并运行正常,但在启动应用程序后不久,Xcode将从设备中分离,因此不会出现任何断点。如果在点击Build&amp; amp;&gt;之后查看主Xcode窗口的左下角,您可以快速判断它是否已分离。 Go - 如果您没有使用实际的开发设备证书,您将看到一条消息,上面写着“从设备接收的无效十六进制代码”。

答案 6 :(得分:0)

我有类似的情况..经过6个小时的调试和项目文件比较,它终于奏效了。情况是我有一个2岁的项目最初是在Xcode 3.1天制作的。我试图在Xcode 4.5.1中使用断点运行它,它从未起作用。

以下是我采取的解决方法..

1)在项目&gt;构建设置中..搜索调试。 2)仅构建活动架构&gt;将调试更改为是 3)生成调试符号&gt;是 4)预处理器宏&gt; Debug = 1

现在运行正常。

答案 7 :(得分:0)

我在这个线程中尝试了很多东西,重新启动设备解决了我的问题。

答案 8 :(得分:0)

我遇到了同样的问题。我还没有真正的解决方案,但我发现,在我的情况下,它取决于设备。该错误仅发生在我的iPod Touch 4G上。当我切换到iPhone 3G时,一切正常,断点再次起作用。

我不知道这是否与此问题有关,但可能是iPod4因安装了iOS 5 beta 2而出现问题。通常当我在iOS 5中遇到错误时,只需重启设备即可。但是......重新启动iPod4对我来说无济于事......

解决方案:

这个问题现在困扰了我几个星期,但我终于为我的案子找到了一个解决方案:

  1. 确保Mac上的SDK与设备上的iOS版本相同(或更新)。
  2. 通过USB连接设备并重新启动设备,Xcode正在运行。

答案 9 :(得分:0)

这真的适用于voodoo内核,使用std_dyld = 1启动使Xcode在断点处停止。非常棒的提示。非常感谢John,你是一个救生员! 我使用OSX86Tools自动添加此引导标志。 马球

答案 10 :(得分:0)

我不得不问,因为我有同样的问题,这是一个'真正的'mac?知识分子hacintosh核心存在这个确切的问题。如果你正在使用voodoo核心,用std_dyld = 1启动,一切都会很好

答案 11 :(得分:0)

  

如果您使用的是Ad Hoc证书,它仍然可以构建并运行良好,但不久之后   启动应用程序后,Xcode将从设备中分离出来,因此不会出现任何断点。

这帮助了我。

答案 12 :(得分:0)

我看起来你正在以root运行程序,这似乎不正确......

答案 13 :(得分:0)

尝试通过命令Command-Option-Y运行项目(这会强制Xcode使用调试器启动程序)。

Xcode菜单栏上的按钮可能有些误导。如果按钮显示“运行”,则它不会在调试器中运行该程序。如果它说'Go'它运行程序,但它是最后一次构建(即发布或调试)。 Command-Option-Y在调试器中专门启动程序。

另外,请确保已启用断点。您可以右键单击它们进行检查。此外,在调试器窗口中,工具栏上应该有一个用于激活或取消激活断点的选项。确保它们已被激活。

答案 14 :(得分:0)

有两个gdb配置文件可以很好地查看。

  • /etc/gdb.conf
  

我的MD5(/etc/gdb.conf)= 31b58e1ecf038554faadf777d63e9085

  • 〜/ .gdbinit
  

我没有,你有吗?

答案 15 :(得分:0)

程序运行时,您可以在控制台窗口中执行CTRL-C(光标在那里)。如果您中断程序类型info br,它应该提供活动断点的列表,那么问题是,它们是您设置的吗?

答案 16 :(得分:0)

这可能是一个非常明显的答案,但它可以奏效。您是否尝试在main()以外的代码中添加断点?例如,在App Delegate的applicationDidFinishLaunching方法中?我知道它应首先通过main,但由于main中的代码通常不会针对iPhone应用程序进行修改,因此可能有点不稳定。无论如何,这值得一试。

此外,要查找GCC 4.0 - 代码生成选项,请单击三角形以打开“目标”组,然后在“目标”下单击应用程序的名称。单击Xco​​de窗口顶部的“信息”按钮,您将获得应用程序的设置。转到Build。确保Show:下拉菜单设置为All Settings。如果你从那里向下滚动,它应该是你可以编辑的列表之一(在版本控制之后和GCC 4.0之前 - 语言)

答案 17 :(得分:0)

在您的构建设置列表中,您没有涵盖最关键的一个:

alt text http://idisk.mac.com/cdespinosa/Public/Generate%20Debug%20Symbols.png

确保为Debug配置检查Generate Debug Symbols,并确保在构建和调试时Debug配置处于活动状态。

另外两件事要尝试:

1)取消选中“修复并继续”。您的详细gdb日志表明它可能已打开。确认时,请确保查看目标设置而不是项目设置。

2)尝试以root身份运行。目前还不清楚为什么你需要。以root身份运行的Xcode可能与模拟器进行交互;坦率地说,我们不会使用那种配置,所以我不知道。

日志显示一切正常运行。你有一个在模拟器中启动的内置二进制文件;这是正确的架构和良好的形式;你有调试符号;你有一个断点,并设置断点。我们接受你的意见(因为我们看不到你的来源)断点实际上是在一行正在执行的代码上。

答案 18 :(得分:-3)

Apple应该真正改善整体Xcode体验。我理解它是免费的(嘿,你得到的是你支付的费用),但是,它中的错误几乎是对开发者的侮辱。

相关问题