- Заморозить все потоки → Сохранить контексты потока & teb → Drasple Все области памяти → Разрешенные потоки.
[*] восстановить снимок: [/b]
- Заморозить все потоки → перезаписать области памяти → восстановить контексты потока и teb → разморозить потоки. < /li>
< /ul>
< /li>
< /ol>
анализ: < /strong>
Проблема, вероятно, связана с ручками ресурсов OpenGL (например, Текстуры, буферы) в памяти графического процессора (VRAM). Эти специфичные для графического процессора состояния не отражаются во время снимка процесса, что приводит к несоответствиям состояния после восстановления. Хотя VRAM не доступен непосредственно, я предполагаю, что сохранение состояний GPU может потребовать косвенных методов, таких как инъекция процесса или перенаправление DLL. Я попытался выполнить эти подходы, но не имею достаточных знаний о том, чтобы отдать внутренние внутренности двигателя для решения проблемы. < /P>
Как я могу решить проблему сбоя?
Программа: snapshot.exe (автоматически снимки снимка с именем test.exe и Восстанавливает его через 4 секунды). < /p>
< /li>
Дамп сбоя (.dmp) из программы сбоя доступен. < /p>
nvoglv64!vk_icdNegotiateLoaderICDInterfaceVersion+0xcade5
nvoglv64!DrvValidateVersion+0xaa0a
nvoglv64!DrvPresentBuffers+0x2acd7
nvoglv64!DrvPresentBuffers+0x2a217
nvoglv64!DrvPresentBuffers+0x188b3
nvoglv64!DrvPresentBuffers+0x1302c2
nvoglv64!DrvPresentBuffers+0x132598
nvoglv64!DrvPresentBuffers+0x13478d
nvoglv64!DrvPresentBuffers+0x13338b
nvoglv64!DrvPresentBuffers+0x14d9d8
nvoglv64!DrvValidateVersion+0x6c76
nvoglv64!DrvPresentBuffers+0x112ca1
nvoglv64!DrvPresentBuffers+0xc9218
nvoglv64!DrvPresentBuffers+0xef6f2
nvoglv64!DrvPresentBuffers+0xef00d
nvoglv64!DllMain+0x7d46
nvoglv64!DllMain+0x7ebd
nvoglv64!DllMain+0x7c9e
nvoglv64!DllMain+0x760e
nvoglv64!DrvSwapLayerBuffers+0x2b6
nvoglv64!DllMain+0xa683
nvoglv64+0x11133a3
nvoglv64+0x1113087
nvoglv64!DrvValidateVersion+0xd988
kernel32!BaseThreadInitThunk+0x14
ntdll!RtlUserThreadStart+0x21
Подробнее здесь: https://stackoverflow.com/questions/794 ... am-windows
Мобильная версия