powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблемы с _purecall и _set_purecall_handler
13 сообщений из 13, страница 1 из 1
проблемы с _purecall и _set_purecall_handler
    #38022322
limpli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем времени суток. Возникла следующая проблема. Приложение вылетает с ошибкой «R6025- pure virtual function call». На сколько я понял данное исключение можно поймать с помощью _purecall или _set_purecall_handler. Но в обоих случаях обработчики события вызова чисто виртальной функции не принимают на вход никаких параметров. То есть я могу отследить данное исключение, но немогу понять где оно вызвано. Пробовал ставить в обработчике DebugBreak, но он работает только в дебаге, да и в дебаге никакой отладчной информации не дает, разве только что указывает место где это обработчик вызван. Поэтому есть ли способы получения отладочной информации в случае вызова данного исключения? Может быть можно как то уронить программу с крашдампом, или возможно как то можно собрать информацию о текущем состоянии и выгрузить ее из программы? Самое главное что бы можно было понять где был вызван абстрактный метод.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022439
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
limpli,
в конструкторе базового класса небось вызываешь метод, в котором вызываешь абстрактный метод - это самый простой способ получить такое поведение. смотри внимательно в конструкторы абстрактных базовых классов и изучай, чего ты там в них вызываешь.
Имхо, это продуктивней, чем бороться с _set_purecall_handler.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022442
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в сотни раз продуктивнее забыть об исключениях вообще.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022555
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlИ в сотни раз продуктивнее забыть об исключениях вообще.эт ты зря, иногда без них не обойтись
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022591
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWhite OwlИ в сотни раз продуктивнее забыть об исключениях вообще.эт ты зря, иногда без них не обойтисьБез исключений можно обойтись всегда.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022631
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlБез исключений можно обойтись всегда.особенно, если конструктор не смог сконструировать корректно класс... можно, но с исключениями - лучше.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022749
limpli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложение довольно большое, если я буду в ручную проверять каждый класс, то наверное закончу где нибудь к пенсии=) Я где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить?
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022752
limpli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, совсем забыл, а проблему может вызвать неудачно установленный VC++2005 SP1? Можно ли как то проверить, удачно ли он установился? Вообще какие записи создаются в реестре при его установке?
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022755
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlБез исключений можно обойтись всегда.
Некоторые и без компьютеров обходятся :)
А еще любую программу можно написать на ассемблере.

Ну это не значит что это правильно, выгодно, полезно во всех случаях.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38022764
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
limpliЯ где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить?
limpliДа, совсем забыл, а проблему может вызвать неудачно установленный VC++2005 SP1? Можно ли как то проверить, удачно ли он установился? Вообще какие записи создаются в реестре при его установке?
Оба предположения никаких оснований под собой не имеют.

Проблема 100% именно в вашем коде.
Поищите классы которые в конструкторе передают this в другие классы или в предка.

Обычно такое бывает если у вас есть некое глобальное хранилище или фабрика объектов, в которой при старте приложения экземпляры конкретных типов регистрируют себя прямо в из своего конструктора, а фабрика в процессе регистрации вызывает у объектов разные методы.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38023177
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток. Возникла следующая проблема. Приложение вылетает с ошибкой «R6025- pure virtual function call». На сколько я понял данное исключение можно поймать с помощью _purecall или _set_purecall_handler.

Отладить можно с помощью любого отладчика пошагового. Достаточно просто запустить приложение под отладчиком, и оно остановится в месте возникновения ошибки. Никаких _purecall или _set_purecall_handler не нужно.

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


По стеку поймёш.

Поэтому есть ли способы получения отладочной информации в случае вызова данного исключения?

1) Это не исключение.
2) средства -- стек вызовов. (_purecall или _set_purecall_handler не нужны ни на фиг).
Чтобы стек что-то показывал вразумительное, программу надо собрать
а) без оптимизации (не обязательно, просто без оптимизации стек будет вразумительнее)
б) с отладочной информацией.

Если при вырубании или изменении оптимизации ошибка уходит, оставляй оптимизацию, но включай создание отладочной информации.
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38023180
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlИ в сотни раз продуктивнее забыть об исключениях вообще.

Исключения тут ни при чём вообще
...
Рейтинг: 0 / 0
проблемы с _purecall и _set_purecall_handler
    #38023183
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
limpliПриложение довольно большое, если я буду в ручную проверять каждый класс, то наверное закончу где нибудь к пенсии=) Я где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить?

Проблема в мозгах, а не в реестре.
Запусти под отладчиком, и всё увидешь.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблемы с _purecall и _set_purecall_handler
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]