Теперь постоянно одна и та же причина - испорчен стек. nt!RtlpExecuteHandlerForException+0xf Вот тут мы вызываем обработчик, и на выходе ломается...
Глянул дампы. Сомневаюсь, что баг процессорный, и, скорей всего, он вообще никак не связан с тем кодом, который ты отлаживаешь. Во всех твоих...
А что это за адрес? 0xfffff684`a2ed6698 Какой-то ядерный, но для него не нашлись символы (смотрю трейс в этом сообщении). Кому он принадлежит?...
Ahimov, подключи ядерный отладчик к вбоксу и глянь пошагово от Dbgkp*, что там происходит, в какой момент что портится
Я просто зацепился за то, что у тебя падает и на виртуалке. Это необычный признак: будь баг в планировщике или ядерных сервисах для отладки - на...
Ну смотри, я бы не был так категоричен. В этой истории интересно, что у тебя воспроизвелось и на икспишке в виртуалке. Рассмотри несколько...
Похоже, что проблема всё-таки только у тебя. Специально поставил 19041 и спокойно прошагал по твоему приложению через все pushf'ы и popf'ы. [ATTACH]
А как насчёт перехватить вызов в x64, но отдать на обработку в x32? В x64 обрабатывать сложно: там будет только ntdll - было бы приятнее вернуть...
Вероятно, упадёт с RtlRestoreContext вместо NtContinue А бсодит в итоге в тех же местах в ядре? Где-то в DbgkpQueueMessage?
Попробуй и в x64, и попробуй уменьшить исходный пример (в идеале оставить только popfd). Например, падает ли на любом popfd или только на popfd с...
Так а в чём проблема настроить ядерную отладку на виртуалке? Настраивай через KDNET: отладка будет по UDP, без COM-портов. Настраивается буквально...
Дык нету десятки, её надо качать, ставить - у меня только виртуалка с одиннадцатой. И есть коллекция ядер от разных систем - вот там и смотрю. А...
Честно говоря, вообще не уверен, что проблема именно в KiCancelTimer. То, что в нём упало, скорее следствие чего-то, что произошло где-то раньше...
Глянул, у меня на Win11 не воспроизвелось (десятки под рукой нет) - запускал и просто так, и под отладчиком пошагово (как у тебя на видео)....
То же самое, что для msvc, только используем gcc'шный атрибут __attribute__((section(".text.shell"))), чтобы положить шелл в секцию кода: #include...
Имена участников (разделяйте запятой).