Разработчик iPhone:Отладчик Xcode не останавливается на точках останова

StackOverflow https://stackoverflow.com/questions/601265

Вопрос

У меня есть Xcode 3.1.2 на OS X 10.5.5.У меня есть проект iPhone, который собирается нормально, но отладчик не достигает ни одной из установленных мной точек останова.Я перепробовал все стандартные исправления, которые нашел в сети:

  1. Я отключил «Ленивую загрузку символов» в настройках Xcode.
  2. Моя активная конфигурация — Debug
  3. Уровень оптимизации равен 0 в настройках сборки.
  4. Я очистил все цели и восстановил
  5. Я использую сборку и отладку (в отличие от сборки и запуска).

Я подумал, что мог случайно изменить настройки своего проекта.Итак, я создал новый проект, и у него та же проблема.

Я надеюсь, что мне здесь не хватает чего-то простого.Мой отладчик работал всего несколько дней назад, но внезапно остановился.


ОБНОВЛЯТЬ:

Все становится еще страннее.Вот несколько ответов на ответы

  1. Я нигде не могу найти параметры «GCC 4.0 — генерация кода».Я просмотрел страницы с информацией о цели и исполняемом файле.Единственный вариант, который я вижу, — это выбрать версию компилятора, и выбирается GCC 4.0, но это однострочный раздел без дополнительных опций.
  2. О том, где ставить точки останова:Моя единственная точка останова на данный момент находится в main(), и она не затрагивается.
  3. Я запускаю отладчик командой Выполнить -> Отладка (/% Y).Все еще не повезло

ОБНОВЛЕНИЕ 2:

  1. В целевых настройках изменен Base SDK на Sim 2.2.1.Изменен Active SDK на Sim 2.2.1.
  2. Теперь я вижу параметры генерации кода GCC 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 - Generation».Я выглядел привет и низко как на целевых, так и на исполняемых информационных страницах.Единственный вариант, который я вижу,-это выбрать версию компилятора, и выбран GCC 4.0, но это однострочный раздел без дополнительных опций.

Это ошибка Xcode в версиях 3.1.1 и 3.1.2, если активный SDK не синхронизирован с базовым SDK цели.Установите для базового SDK цели значение Simulator, убедитесь, что активным SDK является Simulator, и повторите попытку.

Если вы действительно хотите получить ответ на этот вопрос, вам придется опубликовать дополнительную информацию о вашем проекте:снимок экрана с настройками сборки или текст из консоли отладчика.

ОБНОВЛЕНО:Также обратите внимание в Xcode > Настройки > Отладка:замещающий текст http://idisk.mac.com/cdespinosa/Public/GDB%20Log.png

Установите этот флажок, введите разумный путь в поле пути, попробуйте сценарий отладки, а затем сообщите об ошибке по адресу http://bugreporter.apple.com прикрепив журнал и описание вашего сценария, или спросите хороших людей по адресу xcode-users@lists.apple.com.Журнал GDB содержит всю информацию о том, как отладчик взаимодействует с вашим приложением.

Другие советы

В настройках Xcode зайдите в раздел отладки и отключите «ленивую загрузку символов».

Это исправило это для меня несколько месяцев назад, когда я впервые столкнулся с этой проблемой.

Это своего рода ответ на вопрос «он подключен», но, эй, иногда в этом и проблема:Точки останова включены?Иногда во время отладки я забываю нажать кнопку на панели инструментов отладки, которая включает и отключает точки останова.

А GCC 4.0 — Генерация кода раздел отображается только в том случае, если для Active SDK установлено значение Устройство – iPhone OS 2.x.Пойди разберись.Они исчезают, когда активный SDK является симулятором.

Вам следует изменить Active SDK на Device, изменить настройки, а затем вернуться обратно на Simulator.Настройки, сделанные в разделе «Устройство», также должны сохраняться и для симулятора.Это также работает, например.установка флага -DDEBUG для предварительной обработки.

(Обновлять:Я был прав лишь наполовину.См. принятый ответ Криса Эспинозы:эта ошибка SDK.Дело не в том, что раздел GCC 4.0 отображается, когда для активного SDK установлено значение «Устройство», а в том, что ваш базовый SDK и активный SDK должны совпадать, чтобы получить доступ к этим настройкам).

Еще одно простое предложение:
Точки останова светло-синие или темно-синие?

Xcode позволяет деактивировать точки останова, они обозначаются голубой стрелкой (как будто она затемнена).

Попробуйте запустить проект, нажав Command-Option-Y (это заставит Xcode запустить программу с отладчиком).

Кнопки в строке меню Xcode могут вводить в заблуждение.Если на кнопке написано «Выполнить», программа не запускается в отладчике.Если написано «Go», программа запускается независимо от того, была ли она создана последней (т. е. выпущена или отлажена).Command-Option-Y запускает программу именно в отладчике.

Также убедитесь, что ваши точки останова включены.Вы можете щелкнуть по ним правой кнопкой мыши, чтобы проверить.Кроме того, в окне отладчика на панели инструментов должна быть опция «Активировать» или «Деактивировать точки останова».Убедитесь, что они активированы.

Это может быть исключительно очевидный ответ, но он может сработать.Пробовали ли вы добавлять точки останова в код, отличный от main()?Например, в методе applicationDidFinishLaunching делегата приложения?Я знаю, что сначала ДОЛЖНО пройти через main, но поскольку этот код в main обычно не модифицируется для приложений iPhone, он может быть немного нестабильным.В любом случае, стоит попробовать.

Кроме того, чтобы найти параметры GCC 4.0 — генерация кода, щелкните треугольник, чтобы открыть группу «Цели», и щелкните имя вашего приложения под «Цели».Нажмите кнопку «Информация» вверху окна Xcode, и вы получите настройки для своего приложения.Перейдите в раздел «Строить».Убедитесь, что шоу:В раскрывающемся списке установлено значение «Все настройки».Если вы прокрутите вниз, это должен быть один из списков, которые вы можете редактировать (после управления версиями и до GCC 4.0 — Язык).

Когда программа запущена, можете ли вы нажать CTRL-C в окне консоли (пока там курсор).Если вы прерывать тип программы info br который должен дать список активный точки останова, тогда вопрос в том, это то, что вы установили?

Есть два файла конфигурации GDB, на которые полезно взглянуть.

  • /etc/gdb.conf

У меня есть MD5 (/etc/gdb.conf) = 31b58e1ecf038554faadf777d63e9085

  • ~/.gdbinit

У меня нет, а у тебя есть?

Вы проверили, что ваша конфигурация сборки использует ваш сертификат разработки для подписи кода?

Если вы используете специальный сертификат, он все равно будет собираться и работать нормально, но вскоре после запуска приложения Xcode отключится от устройства, поэтому точки останова никогда не будут достигнуты.Вы можете быстро определить, отсоединился он или нет, если посмотрите в левом нижнем углу главного окна Xcode после того, как вы нажали «Build & Go» — если вы не используете фактический сертификат устройства разработки, вы увидите сообщение, которое пишет что-то вроде «От устройства получен неверный шестнадцатеричный код».

Похоже, вы запускаете программу как root, это кажется неправильным...

В списке настроек сборки вы не учитываете наиболее важный из них:

замещающий текст http://idisk.mac.com/cdespinosa/Public/Generate%20Debug%20Symbols.png

Убедитесь, что для конфигурации отладки установлен флажок «Создать символы отладки», и убедитесь, что конфигурация отладки активна при сборке и отладке.

Еще две вещи, которые стоит попробовать:

1) Снимите флажок Исправить и продолжить.Ваш подробный журнал GDB показывает, что он может быть включен.При подтверждении этого убедитесь, что вы смотрите на целевые настройки, а не на настройки проекта.

2) Попробуйте нет работает как root.Непонятно, зачем это нужно.Вполне возможно, что Xcode, работающий от имени пользователя root, взаимодействует с симулятором;честно говоря, мы не часто используем эту конфигурацию, поэтому я не знаю.

В журнале видно, что все работает вполне нормально.У вас есть встроенный двоичный файл, который запускается в симуляторе;это правильная и хорошо сформированная архитектура;у вас есть символы отладки;у вас есть точка останова, и она устанавливается.Мы верим вам на слово (поскольку мы не видим вашего источника), что точка останова на самом деле находится на строке исполняемого кода.

Если вы используете специальное сертификат, он все равно будет строить и работать нормально, но вскоре после запуска приложения XCode отрегулируется от устройства, так что никакие точки останова никогда не достигнут.

Это помогло мне.

Я должен спросить, поскольку у меня была та же проблема, это «настоящий» Mac?Именно такая проблема возникает с ядром voodoo hacintosh.Если вы используете ядро ​​Voodoo, загрузитесь с std_dyld=1, и все будет хорошо.

Это действительно работает на ядре Voodoo: загрузка с std_dyld=1 заставляет Xcode останавливаться в точке останова.Удивительный совет, правда.Большое спасибо тебе, Джон, ты своего рода спасатель!!!Я использовал OSX86Tools, чтобы автоматически добавить этот загрузочный флаг.Поло

Я перепробовал почти все, что описано в этой теме, и перезагрузка устройства решила мою проблему.

У меня была такая же проблема.У меня пока нет реального решения, но я понял, что в моем случае это зависит от устройства.Ошибка возникает только на моем iPod Touch 4G.Когда я переключаюсь на свой iPhone 3G, все работает нормально и точки останова снова работают.

Я не знаю, имеет ли это какое-либо отношение к проблеме, но возможно, проблема в iPod4 связана с установленной iOS 5 beta 2.Обычно, когда я сталкиваюсь с ошибкой в ​​iOS 5, можно просто перезагрузить устройство.Однако...перезагрузка iPod4 в моем случае не помогла...

Решение:

Эта проблема беспокоила меня уже несколько недель, но наконец я нашел решение для своего случая:

  1. Убедитесь, что SDK на вашем Mac такой же (или более новый), что и версия iOS на вашем устройстве.
  2. Перезагрузите устройство, пока оно подключено через USB и запущен Xcode.

у меня была похожая ситуация..после 6 часов отладки и сравнения файлов проекта это наконец сработало.Ситуация заключалась в том, что у меня был проект двухлетней давности, изначально созданный в Xcode 3.1 дней.Я пытался запустить его в Xcode 4.5.1 с точками останова, но это не сработало.

Вот что я сделал, чтобы это исправить..

1) В Проекте > Настройки сборки..Найдите Отладку.2) Построить только активную архитектуру> изменить отладку на да 3) Сгенерация символов отладки> Да 4) Препроцессорные макросы> отладка = 1

Теперь все работает нормально.

Apple следует действительно улучшить общее качество работы с Xcode.Я понимаю, что это бесплатно (эй, вы получаете то, за что платите), но тем не менее, ошибки в нем почти оскорбляют разработчиков.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top