![]() |
|
|
![]()
|
|
| retto |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 30.10.2007 Где: Кривой Рог, Украи на Репутация: нет Всего: нет |
есть ли какието способы отлова ошибок типа access violation? Бо оч кумарит когда все работает, и иногда вылетает такая ошибка говорящая мало о чем.
|
|||
|
||||
| Domain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 11.3.2010 Репутация: нет Всего: нет |
Проверь, соответствует ли код возврата ошибки, которую данный объект готов обработать.
Вызови QueryInterface для получения указателя на интерфейс ISupportErrorlnfo. Затем вызови метод InterfaceSupportsErrorlnfo, чтобы убедиться, что ошибка была сгенерирована тем объектом, который возвратил тебе код ошибки, и объект ошибка относится именно к текущей ошибке, а не к предыдущему вызову. Вызови функцию GetErrorlnfo для получения указателя на объект-ошибку. При помощи методов lErrorlnfo считай информацию, содержащуюся в объекте ошибке. |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Как правило такие ошибки возникают когда обращаешься к уже удаленному объекту, либо при выходе за границу массива.
Отловить можно, когда приложение выдало exception - подключаемся к приложения через debuger (в стадии называетяс attach to process). Затем нажимаем кнопку "Pause" и смотрим стек вызовов. В стеке будет видно на какой ф-ии произошла ошибка. Если имя ф-ии ни очем не говорит, то смотрим стек дальше, пока не увидим свои методы. В Visual Studio данный подход отлично работает, как дело обстоит в Builder - не знаю, но могу предположить, что примерно тожесамое. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| retto |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 30.10.2007 Где: Кривой Рог, Украи на Репутация: нет Всего: нет |
Artemon, пасибо, что такое Visual Studio и как с ней работать прекрасно знаю. Билдер же - вещь с "другого" мира))
Domain, спасибо возможно ли отлавливать ошибки всего проекта? по аналогии с Си Шарпом, где можно чтобы любая ошибка вызывала некое событие и можно логировать все исключения и потом бороться с ними. |
|||
|
||||
| Alca |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
? Добавлено через 48 секунд
Чего вдруг? |
||||||
|
|||||||
| movmov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
юзай MadExcept, правда я заметил не всё ловит но стак трейс отличный в 70% случаев. настроить надоо наверно
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |