Size: a a a

2021 January 29

S

Stas in pro.cxx
SupaproBot
Переслано от YOTA
Добрый день. Хотел бы узнать реализацию parallax occlusion mapping на Vulkan API(C++ кнш)
@zamazan4ik , куда-то не туда оно форварднуло
источник

AZ

Alexander Zaitsev in pro.cxx
Stas
@zamazan4ik , куда-то не туда оно форварднуло
всё нормально
источник

A

Alex in pro.cxx
Кто юзает breakpad или другие инструменты для репортинга фатальных ошибок на Windows, скажите, пожалуйста: ваш инструмент детектит непойманные исключения в доп. потоках без необходимости модифицировать код потока (добавлять какие-то обработчики, set_terminate и т. п.)?
источник

ГH

Гласси Hudobin in pro.cxx
Alex
Кто юзает breakpad или другие инструменты для репортинга фатальных ошибок на Windows, скажите, пожалуйста: ваш инструмент детектит непойманные исключения в доп. потоках без необходимости модифицировать код потока (добавлять какие-то обработчики, set_terminate и т. п.)?
Детектит. Никаких модификаций.
источник

A

Alex in pro.cxx
Спасибо, а кто именно? Breakpad?
источник

ГH

Гласси Hudobin in pro.cxx
google breakpad, да. Другое дело, что за десять лет всего два раза случилось, что стектрейс помог найти хитрый баг. Ну и иногда такие дампы приходят, где главной проблемой указан крэш при создании брейкпадом дампа.
источник

A

Alex in pro.cxx
Забавно. А в каком случае так происходит, т. е. какая настоящая проблема, разобрались? Или непонятно?
источник

ГH

Гласси Hudobin in pro.cxx
Непонятно. Космические частицы.
источник

A

Alex in pro.cxx
Мне минидампы регулярно помогают дебажить проблемы, причём в половине случаев крэши вообще не в моём приложении, а в shell extension, в видеодрайвере или в .dll антивируса.
источник

A

Alex in pro.cxx
Но вот почему-то внезапно перестали ловиться исключения из потоков, structured (SEH) exception не генерится, хотя раньше работало. Изучаю код breakpad.
источник

ГH

Гласси Hudobin in pro.cxx
Alex
Но вот почему-то внезапно перестали ловиться исключения из потоков, structured (SEH) exception не генерится, хотя раньше работало. Изучаю код breakpad.
можт кто в проекте SEH отключил?
источник

A

Alex in pro.cxx
нет, во-первых, ничего там не трогали, во-вторых, уже с лупой всё перепроверил. Во всех сценариях срабатывает unhandled exception handler, а в этом конкретном - исключение в потоке - срабатывает стандартный terminate handler, который тут же зовёт abort().
источник

A

Alex in pro.cxx
перешёл на vectored exception handler (VEH), с ним другая проблема - ловит ВСЕ исключения С++ до их попадания в catch, т. е. это абсолютно бесполезно
источник

DP

Denis Paukaev in pro.cxx
Alex
перешёл на vectored exception handler (VEH), с ним другая проблема - ловит ВСЕ исключения С++ до их попадания в catch, т. е. это абсолютно бесполезно
Почему это проблема? Если в вех интересно только определённое исключение а другие не надо, то можно вернуть EXCEPTION_CONTINUE_SEARCH, исключение дальше пойдёт искать обработчик во всякие сехи и плюсовые кетчи
источник

A

Alex in pro.cxx
Это проблема потому, что я не вижу способа отделить фатальное исключение (для которого забыли catch) от такого, которое будет обработано
источник

A

Alex in pro.cxx
Нашёл такой способ: поставить обработчик сигнала SIGABRT - до сегодняшнего дня я не знал, что в Windows есть этот API - и в обработчике вызвать MiniDumpWriteDump c null вместо EXCEPTION_INFO*. Но из-за этого null (я думаю, что из-за него) колл стек получается так себе, в нём уже нет того потока, который обвалил приложение.
источник

A

Alex in pro.cxx
а может, просто потому, что сигнал вызвается слишком поздно
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Это проблема потому, что я не вижу способа отделить фатальное исключение (для которого забыли catch) от такого, которое будет обработано
Дак а ты уже пробовал  в terminate handler-е дамп делать?
источник

A

Alex in pro.cxx
Ну да, вот изучаю его
источник

ПК

Побитый Кирпич... in pro.cxx
Хотя оно и само должно сдампить при падении
источник