XCode / Какао: Каковы различия между отладкой и сборками конечных версий?

Самый простой способ в Java 8 или более поздней версии - использовать Collection#removeIf :

mChats.removeIf(str -> str.getID().equals(ID));

Кстати, в Java принято, чтобы поля начинались со строчной буквы.

15
задан TalkingCode 17 April 2009 в 18:26
поделиться

2 ответа

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

Сборки отладки не компилируются с оптимизацией ( -O0 с gcc), тогда как сборки выпуска компилируются с оптимизацией (обычно -O2 или -O3 ). Оптимизация делает отладку намного сложнее. Если вы попытаетесь отладить приложение релиза, отладчик будет сильно сбит с толку, поскольку операторы сборки больше не совпадают с операторами HLL, операторы переупорядочиваются, функции становятся встроенными, циклы развертываются и т. Д.

Сборки отладки и выпуска также определены разные символы препроцессора, и некоторый код условно компилируется на основе этих (например, проверок границ массивов, утверждений и т. д.), хотя это сильно зависит от приложения. Типичным примером является #define NDEBUG для режима освобождения, который приводит к удалению утверждений.

32
ответ дан 1 December 2019 в 01:53
поделиться

В Tiger сборки отладки «связаны нулями». Это оптимизировано только для вашей среды и не является полноценной сборкой.

0
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: