У мене встановлені точки перерви, але, здається, Xcode їх ігнорує.
У мене встановлені точки перерви, але, здається, Xcode їх ігнорує.
Відповіді:
Перш за все, я згодний на 100% з попередніми людьми, які сказали, що ВИМКНЕНО Load Symbols Lazily
.
Маю ще дві речі додати.
(Моя перша пропозиція звучить очевидно, але коли я хтось запропонував мені це, моя реакція пішла наступним чином: "давай, будь ласка, ти справді думаєш, що я не знав би краще ...... о.")
Переконайтеся, що ви випадково не встановили "Конфігурація активної збірки" на "Випуск".
У розділі "Цілі" на графічному дереві відображення вашого проекту натисніть правою клавішею миші та зробіть "Отримати інформацію". Шукайте властивість під назвою "Створення символів налагодження" (або подібне) та переконайтесь, що це ПРОВЕРЕНО (він же ВКЛ.). Також ви можете спробувати знайти (також у Target >> Отримати інформацію) властивість під назвою "Формат інформації про налагодження" та встановити її на "Гном із файлом dsym".
У цілі >> Отримати інформацію, яка може вплинути на вас, є ряд інших властивостей. Шукайте такі речі, як оптимізація чи стиснення коду та вимкніть цей матеріал (я припускаю, що ви працюєте в режимі налагодження, так що це не погана порада). Також шукайте такі речі, як символи для зачистки, і переконайтесь, що це також ВИМКНЕНО. Наприклад, для продукту "Налагоджений продукт" слід встановити значення "Ні".
У Xcode 7 для мене працювало:
1) Переконайтесь, що мета -> схема -> Виконати - у режимі налагодження (було випущено)
2) Переконайтесь, що виберіть опцію "Виконавець налагодження", див. Нижче:
Перейдіть до налаштувань налагодження Xcode. Переконайтесь, що "Завантажити символи ліниво" НЕ вибрано.
У мене якраз була ця проблема (знову). Після потрійної перевірки "Завантажте символи ліниво" та знімання та відладки прапорів генерації інформації, я зробив наступне:
Ви можете виконати те саме завдання у пошуку, клацнувши правою кнопкою / опцією, натисніть на пакет .xcodeproj і вибравши "Показати зміст пакета".
Коли я перезапустив Xcode, усі мої вікна були скинуті до стандартних позицій тощо, але точки прориву спрацювали!
Інша причина
Встановіть DeploymentPostprocessing
NO у BuildSettings - деталі тут
Коротко -
Активізація цього параметра вказує на те, що бінарні файли слід позбавити, а інформацію про режим файлів, власника та групу встановити на стандартні значення. [DEPLOYMENT_POSTPROCESSING]
YES
лише у моїх, subproject
а потім точки прориву не працювали subprojects
. І після налаштування на NO
це було ідеально!
Дивіться цю публікацію: точки прориву не працюють у Xcode? . Ви можете натиснути "Виконати" замість "Налагодження"; у цьому випадку ваша програма не працює за допомогою gdb, і в цьому випадку ви не можете очікувати, що точки прориву спрацюють!
Одним із можливих рішень для цього може бути .... перейдіть до продукту> Схема> Редагувати схему> .. У розділі Виконати> інформація> Виконавчий прапорець "Налагодити виконуваний файл".
Це було у мене в Xcode 9 на півбуденний день. Нарешті, це була проста настройка налагодження.
Перейдіть налагодження> Налагодження робочого процесу та переконайтесь, що "Завжди показувати розбирання" вимкнено. Просто як це. :(
Що вирішило це в моєму випадку, було досить просто: в Xcode - Product - Clean Build Folder, а потім Product - Run (не кнопка Play Xcode).
(Якщо виникла проблема на Xcode 11 -beta 4 після переходу на тестування одиниць за допомогою натискання кнопки відтворення Xcode довгим натисканням)
Прийшов на цю сторінку з тією самою проблемою (код C у Xcode 6 не зупинявся на точках прориву) і жодне з вищезгаданих рішень не працювало (проект був практично нестандартний, налаштовуючи налаштування, тому мало шансів на будь-який з налаштувань налагоджувача буде встановлено неправильне значення) ...
Витративши досить багато часу, зменшивши проблему, я нарешті з'ясував винуватця (для мого коду):
Xcode (/ LLVM) не любить #line
команди препроцесора у стилі Bison .
Видалення їх вирішило проблему (відладчик зупинився на моїх точках перерви).
У мене дуже багато проблем з точками прориву в 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.3.1 зі мною трапилось те саме. Мені вдалося виправити це:
Зробивши цю зміну, я повернув параметр Перемістити параметри точки перемикання назад до проекту, і знімаючи вибір параметра Точки перерви , і досі працює.
Я точно не знаю, чому, але це поверне мої точки проходу.
У Xcode 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
час налагодження.
Якщо все інше виходить з ладу, замість точки розриву, ви можете викликати таку функцію:
void BreakPoint(void) {
int i=1;
#if !__OPTIMIZE__
printf("Code is waiting; hit pause to see.\n");
while(i);
#endif
}
Щоб відновити, вручну встановіть значення нуль, а потім натисніть кнопку відновити.
Я спробував усе вищезазначене, але для мене лише один раз деактивація налагоджувальних точок переривання, а потім активація їх спрацювала.
Під час встановлення точки перерви клацніть правою кнопкою миші, і вам слід отримати кілька варіантів того, як обробляється точка перерви (журнал змін і продовження, призупинення виконання тощо)
Також переконайтесь, що в налаштуваннях налагодження не вибрано "Завантажити символи ліниво".
(Застосовується до Xcode 3.1, не впевнений у минулій / майбутній версіях)
Також переконайтесь, що розповсюдження програми AppStore також не встановлено на пристрої.
Здається, що в точках переривання в Xcode є 3 стани. Якщо натиснути на них, вони пройдуть різні налаштування. Темно-синій колір увімкнено, відтінок сірого кольору відключений, і іноді я бачив блідо-синій колір, який вимагав від мене знову натискати на точку розриву, щоб перейти до темно-синього кольору.
Крім цього, переконайтеся, що ви запускаєте його за допомогою команди налагодження, а не команди run. Це можна зробити, натиснувши варіант + команда + повернення, або опцію Перейти (налагодження) з меню запуску.
У мене Xcode 3.2.3 SDK 4.1 Точки прориву будуть випадковими. Я виявив, що якщо ви очистите збірку та використовуєте сенсорну команду під збіркою, вони знову працюють.
Ось незрозумілий варіант, на який я зіткнувся: якщо ви працюєте над спільною бібліотекою (або плагіном), ваші точки перерви стануть жовтими при запуску, що може спричинити розчарування клавіатури і вбити процес налагодження. Ну, не робіть цього! Символи не завантажуватимуться, поки додаток не завантажить бібліотеку, і тоді точки прориву стануть дійсними. Я зіткнувся з цією проблемою із плагіном браузера ... ВР відключено, поки я не перейшов на сторінку, яка інстанціювала мій плагін.