|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
обработка исключений09.04.2010, 21:25. Показов 2478. Ответов 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
Обработка исключений Обработка исключений Обработка исключений Обработка исключений Обработка исключений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|