|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
обработка исключений09.04.2010, 21:25. Показов 2503. Ответов 5
Метки нет (Все метки)
Нужно вывести информацию о всех используемых приложением кадрах механизма структурированной обработки исключений.
Интересует что такое "используемых приложением кадрах" и какую конкретно "информацию" здесь требуется выводить? Я понимаю, что при возникновении исключения в стеке будет некая ин-я о нем, которую потом система запишет в dump - файл, но если у меня программа складывает 2 числа, то где я там найду исключение? Это самому сгенерировать исключение?
0
|
|
| 09.04.2010, 21:25 | |
|
Ответы с готовыми решениями:
5
Обработка исключений с пмощью структурированной обработки исключений Обработка исключений обработка исключений |
|
11 / 11 / 1
Регистрация: 09.11.2009
Сообщений: 32
|
|
| 10.04.2010, 00:16 | |
|
Кадр в стеке есть(как минимум один) до исключения, даже если ты сам не обращался к __try. Создаётся он в системной функции с которой стартует твой процесс(первичный поток)/поток, тем же __try.
Писать тут можно много, вот ссылка: http://wasm.ru/series.php?sid=7 расписано наиподробнейше. Читай всё, так как вначале расписан механизм исключений операционной системы, а затем надстройка компилятора.
1
|
|
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
| 10.04.2010, 11:04 [ТС] | |
|
Ну все равно пока никакого исключения не возникло, там будет 1 кадр. Видимо моя программа должна сама опустим при нажатии на одну кнопку поделить на нуль и показать, что записала система при этом, потом прочитать из недоступно памяти и вывести ин-фу и еще так пару исключений сгенерировать.
0
|
|
|
11 / 11 / 1
Регистрация: 09.11.2009
Сообщений: 32
|
|
| 10.04.2010, 11:46 | |
|
Если тебе нужен список зарегистрированных обработчиков, то генерировать исключение не надо. По адресу [fs:0] находится указатель на структуру _EXCEPTION_REGISTRATION(компилятор её расширяет, сохраняя базовую часть) в ней вся инфа по зарегистрированному обработчику и указатель на следующий. В второй части статьи Matt Pietrek'а есть программа ShowSEHFrames которая выводит информацию по зарегистрированным обработчикам.
1
|
|
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||
| 10.04.2010, 13:11 [ТС] | ||
|
Да. Видимо это то, что нужно. Я просто ездил на олимпиаду по кодингу, там было задание
"Разработать приложение, отображающее информацию о всех используемых в нем кадрах механизма структурированной обработки исключений." Я его не сделал. Потом автор этого вопроса сказал, что нужно было воспользоваться библиотеками автора Matt Pietrek, они были на каждом компе в каждой аудитории. Но меня сбило с толку влово "кадрам", а не "обработчикам". Видимо имеется ввиду слово "фреймы" для обработки исключений. Если кому интересно вот с-но сайтик с заданиями http://www.kpi.kharkiv.edu/vtp... /2010.aspx Я выступал за "Національний аерокосмічний у-т ім. Жуковського" Добавлено через 35 секунд Это было 5 задание 2 тура. Там можно скачать. Добавлено через 14 минут Вот только одного понять не могу, что означает "всех обработчиках" это зависит от того, сколько я использую в своей программе блоков try .. except, и finally. То есть их количество я выбираю сам и просто вывожу о них информацию? Я могу использовать один блок, могу несколько. Главное: вывести инфу о всех? Я правильно понимаю? Просто таблица же будет разная для разных программ.
0
|
||
|
11 / 11 / 1
Регистрация: 09.11.2009
Сообщений: 32
|
||||||
| 10.04.2010, 16:24 | ||||||
|
Зависит от текущей вложенности блоков __try, а это уже зависит от самого программиста сколько он использовал __try. Там он для примера сделал три:
Когда происходит вход в блок __try в список фреймов добавдяется новый фрейм и соответственно обработчик. При выходе из __try фрейм удаляется(либо из __except в зависимости от того произошло ли исключение).
1
|
||||||
| 10.04.2010, 16:24 | |
|
Помогаю со студенческими работами здесь
6
Обработка исключений Обработка исключений Обработка исключений Обработка исключений Обработка исключений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|