Я использую UndoDB в Linux вместо обычного gdb для каждого сеанса отладки. Обратная отладка очень полезна и значительно ускоряет отладку. Вы можете начать отладку по признаку проблемы (например, ошибка подтверждения или напечатано какое-то неправильное сообщение) и выполнить отладку в обратном направлении во времени, чтобы выяснить причину проблемы.