Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток. Возникла следующая проблема. Приложение вылетает с ошибкой «R6025- pure virtual function call». На сколько я понял данное исключение можно поймать с помощью _purecall или _set_purecall_handler. Но в обоих случаях обработчики события вызова чисто виртальной функции не принимают на вход никаких параметров. То есть я могу отследить данное исключение, но немогу понять где оно вызвано. Пробовал ставить в обработчике DebugBreak, но он работает только в дебаге, да и в дебаге никакой отладчной информации не дает, разве только что указывает место где это обработчик вызван. Поэтому есть ли способы получения отладочной информации в случае вызова данного исключения? Может быть можно как то уронить программу с крашдампом, или возможно как то можно собрать информацию о текущем состоянии и выгрузить ее из программы? Самое главное что бы можно было понять где был вызван абстрактный метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 18:38 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
limpli, в конструкторе базового класса небось вызываешь метод, в котором вызываешь абстрактный метод - это самый простой способ получить такое поведение. смотри внимательно в конструкторы абстрактных базовых классов и изучай, чего ты там в них вызываешь. Имхо, это продуктивней, чем бороться с _set_purecall_handler. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 20:50 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
И в сотни раз продуктивнее забыть об исключениях вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 20:53 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
White OwlИ в сотни раз продуктивнее забыть об исключениях вообще.эт ты зря, иногда без них не обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 23:07 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
egorychWhite OwlИ в сотни раз продуктивнее забыть об исключениях вообще.эт ты зря, иногда без них не обойтисьБез исключений можно обойтись всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 00:18 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
White OwlБез исключений можно обойтись всегда.особенно, если конструктор не смог сконструировать корректно класс... можно, но с исключениями - лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 01:39 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
Приложение довольно большое, если я буду в ручную проверять каждый класс, то наверное закончу где нибудь к пенсии=) Я где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 08:40 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
Да, совсем забыл, а проблему может вызвать неудачно установленный VC++2005 SP1? Можно ли как то проверить, удачно ли он установился? Вообще какие записи создаются в реестре при его установке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 08:45 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
White OwlБез исключений можно обойтись всегда. Некоторые и без компьютеров обходятся :) А еще любую программу можно написать на ассемблере. Ну это не значит что это правильно, выгодно, полезно во всех случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 08:49 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
limpliЯ где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить? limpliДа, совсем забыл, а проблему может вызвать неудачно установленный VC++2005 SP1? Можно ли как то проверить, удачно ли он установился? Вообще какие записи создаются в реестре при его установке? Оба предположения никаких оснований под собой не имеют. Проблема 100% именно в вашем коде. Поищите классы которые в конструкторе передают this в другие классы или в предка. Обычно такое бывает если у вас есть некое глобальное хранилище или фабрика объектов, в которой при старте приложения экземпляры конкретных типов регистрируют себя прямо в из своего конструктора, а фабрика в процессе регистрации вызывает у объектов разные методы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 09:01 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток. Возникла следующая проблема. Приложение вылетает с ошибкой «R6025- pure virtual function call». На сколько я понял данное исключение можно поймать с помощью _purecall или _set_purecall_handler. Отладить можно с помощью любого отладчика пошагового. Достаточно просто запустить приложение под отладчиком, и оно остановится в месте возникновения ошибки. Никаких _purecall или _set_purecall_handler не нужно. Но в обоих случаях обработчики события вызова чисто виртальной функции не принимают на вход никаких параметров. То есть я могу отследить данное исключение, но немогу понять где оно вызвано. По стеку поймёш. Поэтому есть ли способы получения отладочной информации в случае вызова данного исключения? 1) Это не исключение. 2) средства -- стек вызовов. (_purecall или _set_purecall_handler не нужны ни на фиг). Чтобы стек что-то показывал вразумительное, программу надо собрать а) без оптимизации (не обязательно, просто без оптимизации стек будет вразумительнее) б) с отладочной информацией. Если при вырубании или изменении оптимизации ошибка уходит, оставляй оптимизацию, но включай создание отладочной информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:36 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
White OwlИ в сотни раз продуктивнее забыть об исключениях вообще. Исключения тут ни при чём вообще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:37 |
|
||
|
проблемы с _purecall и _set_purecall_handler
|
|||
|---|---|---|---|
|
#18+
limpliПриложение довольно большое, если я буду в ручную проверять каждый класс, то наверное закончу где нибудь к пенсии=) Я где то прочитал, что проблема может быть в реестре, если какая нибудь dll зарегистрировалась неудачно. Можно ли это как то проверить? Проблема в мозгах, а не в реестре. Запусти под отладчиком, и всё увидешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38022591&tid=2020710]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 271ms |

| 0 / 0 |
