crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в выход индекса за пределы дозволеного, философия
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 23.4.2010, 11:45
 
Цитата(BRE @ 23.4.2010, 15:43) *
Собирай релиз с QT_NO_DEBUG, не будет.
лучше пусть будет :)
AD Дата 23.4.2010, 11:44
 
Цитата(Litkevich Yuriy @ 23.4.2010, 12:41) *
Цитата(Влад @ 23.4.2010, 15:24) *
в release версии он раскрывается в "ничто" и исключается компилятором. Нет?
Q_ASSERT в релизной работает.

Вы о разных assertax говорите. ;)
BRE Дата 23.4.2010, 11:43
 
Цитата(Litkevich Yuriy @ 23.4.2010, 12:41) *
Цитата(Влад @ 23.4.2010, 15:24) *
в release версии он раскрывается в "ничто" и исключается компилятором. Нет?
Q_ASSERT в релизной работает. если я программу из командной строки запускаю (в виндовозе), то при падении вижу сообщение с номером строки исходника и текстом условия, которое проверялось

Собирай релиз с QT_NO_DEBUG, не будет.
Litkevich Yuriy Дата 23.4.2010, 11:41
 
Цитата(Влад @ 23.4.2010, 15:24) *
в release версии он раскрывается в "ничто" и исключается компилятором. Нет?
Q_ASSERT в релизной работает. если я программу из командной строки запускаю (в виндовозе), то при падении вижу сообщение с номером строки исходника и текстом условия, которое проверялось
Влад Дата 23.4.2010, 11:24
 
Цитата(Iron Bug @ 22.4.2010, 13:20) *
имхо ассерты только для дебага. ну, в крайнем случае, можно их оставить на время приёмо-отладочных работ. но не в рабочей версии.

Хм, так вроде бы assert() и имеет смысл только в дебажной версии; в release версии он раскрывается в "ничто" и исключается компилятором. Нет? А заказчику всяко поставляется Release сборка, но не Debug.
Что же до "приёмо-отладочных работ", то (имхо) отладка ПО и приемо-сдаточные испытания (ПСИ) - это совершенно различные этапы работ, и второй может начинаться только после полного окончания первого.
Tonal Дата 23.4.2010, 8:46
  В Винде возникает системное исключение STATUS_ACCESS_VIOLATION как правильно указал Andrewshkovskii.
Некоторые компиляторы в некоторых режимах умеют переводить системные исключения винды в исключения С++.
Например MSVC с нужной опцией или багланд в режиме совместимости с делфой.

В унихе возникает системный сигнал SIGSEGV.

Читай, например, в википедии. :)
Litkevich Yuriy Дата 22.4.2010, 13:47
 
Цитата(Andrewshkovskii @ 22.4.2010, 17:45) *
memory access violation ?
похоже что так
Andrewshkovskii Дата 22.4.2010, 13:45
  memory access violation ?:)

вот тут обсуждалось
Litkevich Yuriy Дата 22.4.2010, 13:34
 
Цитата(Iron Bug @ 22.4.2010, 17:20) *
а так, честно ловить экспшны
а к стати какое-то конкретное исключение возникает при обращении в не разрешённую область памяти?
Iron Bug Дата 22.4.2010, 13:20
  имхо ассерты только для дебага. ну, в крайнем случае, можно их оставить на время приёмо-отладочных работ. но не в рабочей версии. а так, честно ловить экспшны и выдавать информацию для пользователя (ну либо сразу формировать технический отчёт, который пользователь может выслать программисту).
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 11:08