Есть приложение, собранное в релизной сборке.
Хочется его засуспендить, после чего перезагрузить все модули, отключив JIT-оптимизацию, не выгружая при этом само приложение.
Возможно ли это?
Здравствуйте, LWhisper, Вы писали:
LW>Хочется его засуспендить, после чего перезагрузить все модули, отключив JIT-оптимизацию, не выгружая при этом само приложение.
А что такое "перезагрузить модули... не выгружая само приложение"?
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Здравствуйте, LWhisper, Вы писали:
LW>>Хочется его засуспендить, после чего перезагрузить все модули, отключив JIT-оптимизацию, не выгружая при этом само приложение. N_C>А что такое "перезагрузить модули... не выгружая само приложение"?
Заново вычитать IL зависимых сборок и обновить кэш JIT для текущего домена.
Здравствуйте, LWhisper, Вы писали:
LW>Хочется его засуспендить, после чего перезагрузить все модули, отключив JIT-оптимизацию, не выгружая при этом само приложение. LW>Возможно ли это?
Нет. Только перезапуском + костылями времён первого фреймворка.
Штатного способа не предусмотрено, т.к. в теории JIT optimizations могут влиять на layout объекта. На практике на сегодня подобных оптимизаций нет, насколько знаю.
А что сделать-то надо, что такой весёлый изврат понадобился?
Здравствуйте, Sinix, Вы писали:
S>А что сделать-то надо, что такой весёлый изврат понадобился?
Есть тестовая лаба, в которой происходит неведомая фигня, после которой очень хочется подцепиться отладчиком.
Но конфирм был на релизном билде, запуск с JIT-оптимизацией.
Хочется либо изнутри, либо извне приложения отключить её без перезапуска приложения, чтобы не потерять текущее состояние, так как второй раз проблема может и не выстрелить.
Здравствуйте, LWhisper, Вы писали:
LW>Есть тестовая лаба, в которой происходит неведомая фигня, после которой очень хочется подцепиться отладчиком. LW>Но конфирм был на релизном билде, запуск с JIT-оптимизацией. LW>Хочется либо изнутри, либо извне приложения отключить её без перезапуска приложения, чтобы не потерять текущее состояние, так как второй раз проблема может и не выстрелить.
Дамп + clrmd. Можно и через ui, если с консолью лень разбираться.