metaclass (metaclass) wrote,
metaclass
metaclass

Отладка обработки ошибок

Если отладить нормальную работу программы это еще куда ни шло, то отладить работу программы в случае когда ей пришел трындец - это что-то достаточно трудоемкое. Потому что обычно нормальная работа хорошо разбивается на отдельные тесты, если у программы кошерная модульная архитектура, а вот сломаться программа может во всех мыслимых и немыслимых комбинациях.

Особо хорошо таким заниматься в ISAPI фильтре для IIS, написанном на чистом С. Там даже вывод в лог и то ломается от малейшего чиха, а компилятор спокойно без ворнингов и ошибок компилирует такую херь, что смотреть страшно.
Например, в функцию передается указатель на функцию, а я передал указатель на структуру, где эти указатели лежат - компилятору пофиг.
Или десятки вариаций функций с именем типа (_)(s,w)print(f,w) - безопасные и небезопасные, виндовские и от С-рунтайма, одни возвращают код ошибки, другие валятся с исключением при переполнении буфера, грохая весь w3wp.exe. А всего-то хотелось вывести сообщение об другой ошибке, да.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments