Какими методами вы добиваетесь стабильности в вашем ПО (программном обеспечении)? В случае если есть какие-то неконтролируемые участки, за счет чего удается отыскать проблемы (больше вопрос адресован к разработчикам desktop приложений)? Прошу всех кому не лень, поделиться своим опытом, или мнением по данной проблематике. Приведу простой пример из жизни (почему этим стал интересоваться): имеется приложение, которое я отправляю, например, на тестирование конечным пользователям, естественно бесконтрольный развал приложения мягко говоря не совсем хорошо выглядит в глазах конечного пользователя и мне как разработчику никакой информации о причине такого поведения не дает.
Для себя я использую обработку исключений в определенных, критических участках кода, с целью:
1. Сделать частичную раскрутку стека, с выводом информации с log-файл
2. С возможностью контролируемого продолжение работы приложения в определенных ситуациях, когда это возможно
3. Использую глобальную обработку исключений, для выявления не перехваченных исключений, для контролируемого завершения приложения в случае непредвиденных обстоятельств.
В книгах много всего интересного написано, много всего прочитал, но хотелось бы узнать кто и как это все применяет на практике.
Просьба сильно не пинать, если тема не актуальна)))