У меня есть проект Android NDK на C ++. Клиенты жалуются на периодические, невоспроизводимые глюки. Я подозреваю, что ошибка повреждения памяти где-то. У меня уже есть барьер маллока; Теперь я хочу проверить, не поврежден ли стек.
-fstack-protector GCC звучит слишком экстремально для меня; когда он обнаруживает ошибку, он просто убивает программу; Я хочу что-то более удобное для пользователя (сообщение, затем убить :)). Вопрос - есть ли способ реализовать в GCC средство проверки согласованности стека под контролем программиста? Я не против встроенной сборки.
Некоторые предопределенные макросы, которые, например, представляют структуру фрейма стека, пригодятся.