Время выполнения (фаза жизненного цикла программы)


В информатике время выполнения , время выполнения или время выполнения — это заключительная фаза жизненного цикла компьютерной программы , в которой код выполняется на центральном процессоре компьютера (ЦП) как машинный код . Другими словами, «время выполнения» — это фаза выполнения программы.

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

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

Некоторая отладка программы может выполняться (или более эффективна или точна, когда выполняется) во время выполнения. Примерами являются логические ошибки и проверка границ массива . По этой причине некоторые программные ошибки не обнаруживаются до тех пор, пока программа не будет протестирована в производственной среде с реальными данными, несмотря на изощренную проверку во время компиляции и предварительное тестирование. В этом случае конечный пользователь может столкнуться с сообщением об «ошибке времени выполнения».

Обработка исключений — это одна из функций языка, предназначенная для обработки ошибок времени выполнения, предоставляющая структурированный способ обнаружения совершенно неожиданных ситуаций, а также предсказуемых ошибок или необычных результатов без объемной встроенной проверки ошибок, необходимой для языков без нее. Более поздние достижения в механизмах выполнения обеспечивают автоматическую обработку исключений, которая предоставляет отладочную информацию об «основной причине» для каждого интересующего исключения и реализуется независимо от исходного кода путем присоединения специального программного продукта к механизму выполнения.