Глобальное и локальное разворачивание стека

Глобальное и локальное разворачивание стека

Исключения и аварийные завершения вызывают глобальное разворачивание стека (global stack unwind) в поиске обработчика, как было показано на рис. 4.1. Предположим, например, что в отслеживаемом блоке примера, приведенного в конце предыдущего раздела, исключение возникает прежде, чем активизируются FP-исключения. Тогда перед обработчиком исключения в стеке могут находиться многочисленные обработчики завершения.

Вспомните, что структура стека является динамической, как показано на рис. 4.1, и что в стеке, наряду с другими данными, хранятся данные обработчиков исключений и завершения. Фактическое содержимое стека в любой момент времени зависит от следующих факторов:

• Статической структуры программных блоков.

•  Динамической структуры программы, отражаемой в последовательности открытых вызовов функций.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глобальное потепление как феномен массового сознания

Из книги Журнал «Компьютерра» № 6 от 13 февраля 2007 года автора Журнал «Компьютерра»

Глобальное потепление как феномен массового сознания Автор: Дмитрий ШабановВсепланетные изменения климата — на переднем крае общественного внимания. Что может доходчивей убедить в природных неполадках, чем нынешняя зима? Столь же наглядна была зелёная трава,


Итерации и локальное кэширование

Из книги Разгони свой сайт автора Мациевский Николай

Итерации и локальное кэширование При DOM-операциях перебор массива объектов является довольно типичной задачей. Давайте предположим, что вы разрабатываете HTML-приложение, которое индексирует содержание страниц. Нашей задачей является сбор всех элементов h1 на текущей


1.7.5. Многоуровневая архитектура стека TCP/IP

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

1.7.5. Многоуровневая архитектура стека TCP/IP Этот пункт книги является необязательным: если вы считаете, что у вас уже достаточно знаний о протоколе TCP/IP, то можете перейти к следующим разделам, а к этому вернуться позже. Здесь будет описана многоуровневая архитектура


Просмотр стека вызовов 

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Просмотр стека вызовов  В отладчике можно вывести окно Call Stack со списком всех активных процедур и функций сценария. Для этого нужно выполнить команду View|Call Stack. Например, если вызвать это окно, находясь внутри функции MyFunc() в сценарии ForDebug.js, то в списке мы увидим название


9.4 Локальное и удаленное зеркальное отражение

Из книги Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 автора Дайлип Наик

9.4 Локальное и удаленное зеркальное отражение Зеркальное отражение уже упоминалось в разделе 9.1, но подробно не рассматривалось. Зеркальное отражение представляет собой процесс создания дубликата доступных данных, что позволяет обеспечить доступность данных при


9.2.1. Более строгая реализация стека

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

9.2.1. Более строгая реализация стека Мы обещали показать, как можно сделать стек защищенным от некорректного доступа. Выполняем обещание! Вот пример простого класса, который хранит внутри себя массив и управляет доступом к этому массиву. (Есть и другие способы, например


Роль стека протоколов TCP/IP в развитии сетей

Из книги VBA для чайников автора Каммингс Стив

Роль стека протоколов TCP/IP в развитии сетей В настоящее время TCP/IP является самым популярным стеком протоколов. В состав этого стека входят наиболее часто используемые протоколы, которые обсуждаются в данной книге. В большинстве приложений не реализована поддержка


Глобальное знание

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Глобальное знание Объявление переменной с помощью ключевого слова Public делает эту переменную доступной из любой части проекта. Например:Public intUnclassifield As IntegerПравда, такую особую силу ключевое слово Public имеет только тогда, когда вы объявляете переменную в разделе Declarations


27.1.1. Многоуровневая архитектура стека TCP/IP

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

27.1.1. Многоуровневая архитектура стека TCP/IP Протокол TCP/IP был создан в конце 60-х — начале 70-х годов агентством DARPA Министерства Обороны США (U.S. Department of Defense Advanced Research Projects Agency). Основные этапы развития этого протокола отмечены в таблице 27.1.Этапы развития протокола TCP/IP Таблица


5.1.1. Быстрое локальное взаимодействие

Из книги C++ для начинающих автора Липпман Стенли

5.1.1. Быстрое локальное взаимодействие Совместное использование памяти — самый быстрый способ взаимодействия. Процесс обращается к общей памяти с той же скоростью, что и к своей собственной памяти, и никаких системных вызовов или обращений к ядру не требуется.


11.3.2. Раскрутка стека

Из книги автора

11.3.2. Раскрутка стека Поиск catch-обработчикадля возбужденного исключения происходит следующим образом. Когда выражение throw находится в try-блоке, все ассоциированные с ним предложения catch исследуются с точки зрения того, могут ли они обработать исключение. Если подходящее


19.2.5. Раскрутка стека и вызов деструкторов

Из книги автора

19.2.5. Раскрутка стека и вызов деструкторов Когда возбуждается исключение, поиск его catch-обработчика – раскрутка стека – начинается с функции, возбудившей исключение, и продолжается вверх по цепочке вложенных вызовов (см. раздел 11.3).Во время раскрутки поочередно