crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 28.1.2022, 22:39