Проблема отладки XCode - PullRequest
       4

Проблема отладки XCode

1 голос
/ 26 августа 2010

У меня небольшая проблема с отладчиком Xcode. Мне кажется, функция «Вступление» не работает так, как должна. Или так, как я ожидаю, что это сработает.

Я могу войти в любой вызов метода, если он не имеет возвращаемого значения:

[myObject DoSomething];

Это работает find, но если метод имеет возвращаемое значение, Step In отсутствует. Отладчик просто перешагивает через метод.

double b = [myObject CalculateSomething];

Если я делаю то же самое с функциями вместо методов, отладчик всегда входит в вызов функции. Неважно, имеет ли оно возвращаемое значение или нет.

Это ошибка? Это особенность? Так и должно быть? Я пробовал это с текущим Xcode и Xcode 4 Beta на разных машинах, но отладчик отказывается входить в методы с возвращаемыми значениями.

EDIT

Да, я в режиме отладки. Я не получаю никаких ошибок компилятора, никаких предупреждений. Я могу легко воспроизвести эту проблему в любое время. Метод CalculateSomething -> просто сделать возврат 5; и отладчик не вступит в это. Впоследствии это значение не равно нулю, программа работает нормально.

Только отладчик отказывается выполнять метод или любой другой метод с возвращаемым значением.

Ответы [ 3 ]

4 голосов
/ 03 сентября 2010

В настройках проекта отладки вы должны отключить оптимизацию кода с OPTIMIZATION_LEVEL = NONE.

Удачи!

Источник: Работа с настройками сборки Xcode

0 голосов
/ 27 августа 2013

Отключить оптимизацию кода.В настройках сборки измените:

enter image description here На:

enter image description here

0 голосов
/ 26 августа 2010

Я не видел этой проблемы в Xcode 3.2.3.

Однако я видел случаи, когда отладчик путался с методами, вызываемыми для объектов, возвращаемых встроенными методами, например

id myResult=[[self returnAnObject] tellObjectToDoSomething];

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

Если вы настроили средства доступа, вы всегда можете перейти в средство доступа вместо внешнего метода (т.е. tellObjectToDoSomething.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...