Что это означает? “mi_cmd_stack_list_frames: Недостаточно кадров в стеке”.

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

вопросы:

  • Вы хотите использование в будущем другой DBMS? Если да тогда не использует для специального материала SQL текущего DBMS. Удалите логику в своем приложении.

не использует:

  • пробелы в именах таблиц и именах столбцов
  • символы Non Ascii в именах таблиц и именах столбцов
  • привязка к определенному нижнему регистру или верхнему регистру. И никогда не используйте 2 таблицы или столбцы, которые не соглашаются только с нижним регистром и верхним регистром.
  • не использует ключевые слова SQL для таблиц или названий столбцов как "ОТ", "МЕЖДУ", "УДАЛЯЕТ", и т.д.

рекомендации:

  • Использование NVARCHAR или эквиваленты для unicode поддерживают тогда, у Вас нет проблем с кодовыми страницами.
  • Дают каждому столбцу уникальное имя. Это делает его, easer на соединяют для выбора столбца. Это очень трудно, если каждая таблица имеет столбец "ID" или "Name" или "Description". Используйте XyzID и AbcID.
  • Использование пакет ресурса или равняется для сложных SQL-выражений. Это делает его easer для переключения на другой DBMS.
  • не бросает трудно ни на каком типе данных. Другой DBMS не может иметь этого типа данных. Например, Oracle daes не имеет SMALLINT только число.

я надеюсь, что это - хорошая начальная точка.

8
задан 3 September 2009 в 08:25
поделиться

3 ответа

EXC_BAD_ACCESS происходит, когда сообщение отправляется объекту, который уже был освобожден.

Я видел "mi_cmd_stack_list_frames: Недостаточно кадров в стеке" раньше, когда пытался выпустить что-то, что уже было выпущено.

Мое предложение - установить переменную среды NSZombieEnabled и посмотреть, какой выпущенный объект вы пытаетесь доступ.

На этом сайте есть отличный учебник: http://www.codza.com/how-to-debug-exc_bad_access-on-iphone

2
ответ дан 5 December 2019 в 13:00
поделиться

Я видел, что это вызвано по крайней мере тремя различными типами проблем:

• Как описано в другом ответе, это могут быть ошибки чрезмерного выпуска.

• Это случилось со мной, когда я обновлял приложение для использования iAd и IOS 4.0. Я думаю, проблема заключалась в том, что я пытался использовать фреймворк iAd и в версии приложения 3.0, что, конечно, невозможно, потому что iAd существует только в версии 4.0 и выше.

• Это случилось, когда я удалил кучу вещей из приложения и перекомпилировал, но остатки старого все еще присутствовали в симуляторе. Сброс симулятора устранил проблему. Я удалял Flurry API. Боюсь, я не знаю, что именно там застряло и вызвало проблему.

1
ответ дан 5 December 2019 в 13:00
поделиться

Установка SDK 4.0 на телефон 3.1.3 вызвала это для меня.

Исправлено из-за слабой привязки UIKit к цели.

9
ответ дан 5 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

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