2010-02-28 2 views
0

Я искал час или около того здесь и в Google и не могу найти ответ о том, как правильные точки останова смещаются во время запуска. Я переустановил Xcode (3.2.2), застрахованная нагрузка лениво отключена, оптимизация в целевых настройках и все другие целевые настройки, которые могут вызвать проблему. Я также уничтожил все файлы пользовательских проектов (за исключением основного .pro-файла), и ничего похожего не исправить. Да, я выполняю контрольные точки. Да, я сделал чистые сборки.Точки останова Xcode сдвинуты во время выполнения

Когда я устанавливаю точку останова, в отладчике прерывание останавливается в исходном коде двумя или тремя (или более строками), один шаг продолжает показывать неправильную строку. Кроме того, в окне отладчика темно-синий символ точки останова отсутствует, он появляется в окне редактора.

Это меня заводит.

ответ

2

У меня была аналогичная проблема (странно сдвинутые точки останова), но моя проблема оказалась в том, что у меня был неправильный набор целей, поэтому код, который я изменял и устанавливал точки останова, даже не был перестроен! Но исполняемый файл все равно будет работать, используя старый код, что приведет к тому, что, по-видимому, было странно смещенным точкам останова.

2

Иногда Xcode путается с нумерацией строк, когда исходные файлы имеют несогласованные окончания строк, например. потому что вы используете разные редакторы и можете иметь смесь разных строк в исходном файле. Вы можете использовать такой инструмент, как BBEdit или его свободный брат TextWrangler, чтобы устранить эту проблему.

+0

Нет, я прошел и проверил окончания строки, все они - текстовые файлы Unix, UTF-8. Проблема все еще существует. – tgunr

+1

Просто пояснить: когда я говорю о несогласованности строк, я имею в виду, что у вас может быть ситуация, когда у вас есть смесь разных строк * внутри * данного исходного файла. Я получаю это все время, например. где коллеги использовали текстовый редактор Windows для внесения изменений в файл с окончанием строки Unix. Я не говорю, что это то, что у вас есть, но я просто хотел убедиться, что я ясно дал понять о конкретной природе проблемы. –

+0

Да, я понял, что вы имели в виду, и действительно гарантировал, что окончание строк было последовательным. Я использую только Xcode и Emacs в своем исходном коде, и никто другой не удалился с кодом. Я до сих пор не выяснил проблему. Кажется, что кадры стека более высокого уровня указывают на правильные места, это только немедленный и предыдущий кадр, которые указывают неверно. – tgunr

1

Входящие в «Настройки сборки» под целью проекта изменяют «Уровень оптимизации» для «Отладки» на «Нет».

Я нашел, что это исправило проблему для меня.

Смежные вопросы