Мое приложение ( EasyJob ) вызывает ошибку нарушения доступа при выходе. Это происходит только в некоторых системах, в основном в Vista, но в некоторых системах XP. Приложение написано на VB6.
После нахождения системы, которая показывает такое поведение, я запустил DebugDiag в своем процессе и получил этот отчет:
Function Arg1 Arg2 Arg3
0x04246c81 726c7fc8 778bf188 0012fea4
ole32!CoDisconnectObject+55 726c7fc8 00000000 00000002
msvbvm60!BASIC_CLASS_Release+10b2d 00000002 013e07cc 727ae518
msvbvm60!TipUnloadProject+df2 013e08dc 013e07cc 727ae470
msvbvm60!EbResetProjectNormal+1a54 00000000 00000000 00000000
В easyjobpro__PID__5240__Date__05_18_2009__Time_09_24_01PM__619__Second_Chance_Exception_C0000005.dmp модуль C: \ Windows \ System32 \ ole32.dll вызвало нарушение прав доступа (0xc0000005) при попытке записи в ячейку памяти 0x726c7fc8 на резьбе 0
ОК, похоже, это вызвано OLE32.dll, но как я могу это исправить ???? O :-)
Есть ли способ получить более длинную трассировку стека, чтобы я мог реально увидеть, какая часть моего кода запустила эту вещь? Кажется, это связано с тем, что какой-то класс выгружается (BASIC_CLASS_Release), но как мне узнать, какой именно?
Кто-нибудь знает, почему это может происходить в основном в Vista?
Этот материал сводит меня с ума, так что ЛЮБАЯ помощь будет СЛАВНО оценена. Серьезно, я куплю тебе пиво, где бы ты ни был. O: -)