Re[6]: Отключить обработку исключений для куска кода
От: Mazay Россия  
Дата: 24.08.17 14:13
Оценка: 3 (1)
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Mazay, Вы писали:


M>>Так что бы бряк поставить надо в дебагере запускаться. Тогда проблем нет. А хочется иметь возможность анализировать крэш-дамп.

X>тогда так: создавай .so библиотеку экспортирующую __cxa_allocate_exception() функцию, и в этой функции зови std::abort(), или что душе угодно. подгружать при помощи: LD_PRELOAD=mydll.so ./myapp


Дааа! Именно то, что надо!
Для всех интересующихся:
What is the LD_PRELOAD trick?
How to wrap a system call (libc function) in Linux


Ещё ссылка по теме — обсуждение схожей проблемы в трекере GCC: Impossible to find/debug unhandled exceptions in an std::thread. Там они после 4-х лет обсуждений таки решили отключить обработку исключений и позволить программе падать с дампом.
Главное гармония ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.