LINUX.ORG.RU

Как в qt msvc при crash не дать упасть приложению ?

 , , ,


0

4

Подскажите как можно в qt msvc проекте, когда случаются ошибки access violation, не дать проге упасть. То есть хочу словить это исключение и обработать, чтобы прога не рухнула из-за него. Можно ли это как-то сделать в qt msvc ловить исключения. Хочу их в лог записывать.

Ответ на: комментарий от RazrFalcon

На qt это никак не решается ? Нельзя ли собрать qt из сорцов с поддержкой исключений ? Чтобы любой крэш можно было отловить и не дать упасть приложению ?

user2132
() автор топика
Ответ на: комментарий от RazrFalcon

ООМ - это исключение. Так и обрабатывать.

Ха-ха-ха. Нет!

Только так, как по ссылке (проблема с Jetty там нерелевантная) и никак иначе:

https://stackoverflow.com/q/5792049/314015

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

anonymous
()
Ответ на: комментарий от RazrFalcon

ООМ - это исключение. Так и обрабатывать.

Есть два нюанса:

  • ООМ может выскочить практически в любом месте программы
  • Чтобы обработать ООМ зачастую нужна память, например, чтобы сконструировать исключение и передать его обработчику

Было бы интересно посмотреть на пример какого-нибудь кода на нормальном языке (к коим си и сипласплас, само собой, не относятся), который бы при ООМ выдавал бы какое-нибудь человекочитаемое сообщение.

Laz ★★★★★
()
Ответ на: комментарий от Laz

ООМ может выскочить практически в любом месте программы

Как и любое другое исключение.

Чтобы обработать ООМ зачастую нужна память

Нужна. Но проблема в данном случае будет только если у нас 100500 мелких объектов. Если нам не удалось выделить 100 метров, то обработать это исключение не проблема.

RazrFalcon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.