VirtualKd Redux работает на VMware worstation 16? а то VirtualKd у меня ток на 15.1 работает на 15.5 уже нет
простой путь описан тут https://lifeinhex.com/running-windbgx-on-windows-7/ (пост kao - 2021-04-21 at 17:46)
Эх, жаль, что такую замечательная штуку, как TTD ещё не добавили в отладке ядра А ведь как раз таки именно там такой функционал нужнее всего... одно дело ребутать .exe, другое перезагружать операционку на виртуалке после очередного BSOD...
На самом деле, никогда не было острой необходимости в TTD. В случае отладки ядра есть снапшоты в виртуалках: восстановить состояние дело пары секунд, не надо перезагружаться с нуля. И в целом, TTD для ядра - это прикольно, но довольно сложно реализуемо, ведь на каждый такой снимок тебе надо создавать где-то копию состояния всего ядра. Но это нельзя сделать атомарно из самого отлаживаемого ядра, ведь пока ты пишешь копию (в том же самом ядре), состояние этого самого ядра меняется, а чтобы сделать такой дамп, требуется участие самого ядра, ведь только оно знает, где у него что находится. Технически, в связке с Hyper-V такое наверно возможно, но скорей всего поддерживать такое настолько сложно, что никто всерьёз это не рассматривает. И учитывай размеры таких снимков - гигабайты на каждый шаг, и чем больше занято оперативки - тем они будут больше.
Поэкспериментировал со снапшотами у себя на виртулке. Процесс "Restoring virtual machine state..." оказался не таким уж и быстрым, думал реально за секунды мне восстановит OC . Возможно, что-то в виртуалке включено/выключено замедляющее процесс восстановления, не знаю... Но всё равно - эффективнее чем ребутать пк, благодарю. Ну или VMware свойственна такая загрузка. Вы какую виртуальную машину используете, что у вас за пару сек восстанавливается OC снапшотом?
Использую вмварю, но они везде восстанавливаются быстро, если виртуалка на ссд. По скорости запуска у меня самая быстрая Hyper-V: виртуалка с холодного старта у меня на ней грузилась за 4 секунды до рабочего стола. Не представляю, как они это делают. По скорости восстановления снапшотов не помню, но на всех виртуалках они у меня восстанавливались быстро - не помню, чтобы когда-то был бы недоволен скоростью восстановления.
Точняк, у меня же виртуалки на ЖД стоят, вот же мазохист я :-( Спасибо вам за напоминание, сейчас переставлю их на нормальный SSDM2 --- Сообщение объединено, 14 авг 2023 --- Только что протестировал Hyper-V виртуалку и офигел от скорости запуска операционки - очень быстро! Спасибо за очередное открытие для меня, походу буду прощаться с VMware :-( --- Сообщение объединено, 14 авг 2023 --- HoShiMin, скажи пожалуйста, как убрать постоянный прилёт такого сообщения в виртуалке Hyper-V: То есть, как я понял, когда я начал отладку в ядре, подключение с виртуалкой обрывается, Hyper-V пытается восстановить подключение, но из-за того, что состояние операционки в руках WinDbg у него ничего не получается. Просто это окошко мне выплевывается в лицо каждые несколько секунд отладки - очень раздражает. В настройках виртуалки, ничего не увидел, что помогло бы мне :-( Ну не удаётся и не удаётся, пускай тогда пытается подключаться бесконечно, но только, чтобы мне не выплевывал этот месаг... ведь в любом случае, когда нажму 'go' в windbg у него получится подключится, зачем это спамить мне, что за дурость! --- Сообщение объединено, 14 авг 2023 --- Ну одно из решений этой проблемы, не закрывать сия окошко
Так ведь виртуалка не знает, что ты её отлаживаешь. В какой-то момент RDP’шный клиент теряет машину и не знает почему - вот и показывает окошко. И таки да, просто не закрывай этот мессаджбокс. Ты работаешь с ней в Enhanced Mode (это такая голубая кнопочка в тулбаре окошка с виртуалкой)? Если да - попробуй переключить обратно в простой режим. В этом режиме графика будет дёрганой (хотя она и в расширенном дёрганая), но скорей всего терять машину перестанет. --- Сообщение объединено, 14 авг 2023 --- Всем хорош Hyper-V, но для меня в нём несколько недостатков: не очень удобное взаимодействие с виртуалкой, бедная дёрганая графика (ускоритель RemoteFX задепрекейтили и удалили, а замены не дали), а также есть нюанс с производительностью: так как Hyper-V - это bare-metal гипервизор, твой хост - это на самом деле не хост, а виртуалка. Hyper-V при запуске компа виртуализует всю систему, и, хоть визуально ты разницы с настоящим хостом не видишь, в бенчмарках разница есть: например, сильно просаживается скорость и отзывчивость оперативки - процентов на 40 (на моей системе с 50 гб/с до ~28), поскольку контроллер памяти должен транслировать адреса уже не через 4 таблицы трансляций (PML4/PDP/PD/PT), а через восемь. Трансляции, конечно, кэшируются в TLB, но всё же. Плюс, на многие системные операции требуется передача управления гипервизору, а это переключение контекста, адресного пространства и пошло-поехало. Поэтому, хоть Hyper-V технологичнее и производительнее для виртуалок, я использую вмварю. Но если тебе не попугаев в бенчмарках считать, а работать, то Hyper-V - хороший выбор.
Да, отключение Enhanced Mode решило проблему с разрывом подключения во время отладки - спасибо! Если честно, пока совсем не внимаю, о каком дерганье идёт речь. Лично у меня - вот уже который час орудую дебагер+kdnet по винде, наслаждаясь потрясающей скоростью трассировки и неимоверно быстрым откликом на бряки в ядре, используя эту виртулка - никаких дерганей графики не обнаружил от слова совсем. Где-то в инете у них в доке промелькнуло, что аппаратная поддержка GPU какая-никакая, но всё же есть.
Насколько мне известно, гипервизор Hyper-V реагирует только на те события, которые прописаны в зоне(5) "Execution Control Field" структуры управления VMCS. Интересно было-бы посмотреть, какие именно ивенты (кроме привилегированных инструкций) система пихает туда при старте? Наверное инструкцией VMREAD можно считать драйвером эту инфу? К сожалению сам проверить не могу, т.к. ни проц ни система Win7 не поддерживает аппаратную виртуализацию.
Да, ей можно, но зависит от того, хочет ли гипервизор делиться этой информацией. Не проверял, но подозреваю, что не хочет. --- Сообщение объединено, 14 авг 2023 --- Ну там графика такая… неплавная. Поддержка GPU там в двух вариантах: GPU Passthrough - это когда видеокарта отключается от хоста и монопольно подключается к виртуалке (в этом случае ты получаешь в виртуалке полноценный GPU, который работает с полноценными драйверами от нвидии и амд), но этот режим требует поддержки со стороны железа (в основном, это серверные материнки) и двух видеокарт (одна останется для хоста, вторую отдашь виртуалке). А второй вариант - разделяемый GPU между хостом и гостем, но этот режим экспериментальный и пилят его уже десять лет, и включается он через некоторые костыли в PowerShell. Но всё это неважно, поскольку Hyper-V рисует картинку или по RDP (в расширенном режиме), или каким-то непонятным полусофтверным рендером (в простом режиме). То есть, GPU будет кочегарить на полную, рисуя хоть тысячу фпс, но из-за ограничений RDP ты будешь видеть только тридцать. Хочешь плавных анимаций и нормальные 60+ фпс в играх - придётся ставить сторонние RDP с нормальными кодеками, типа AnyDesk.