Как отладить заставку входа в систему в Win7?
У меня есть приложение.Net 2.0 WinForms, которое я пытаюсь использовать в качестве заставки для входа (64-разрядная версия Win7Pro). Он отлично работает из командной строки, когда я вошел в систему и в качестве заставки. Тем не менее, он выходит сразу, когда запускается как заставка входа в систему.
Я знаю, что он получает исключение CLR, потому что его код выхода 0xE0434F4D, но я не могу понять, как его отладить.
Есть ли способ отладки заставки входа в систему в Win7?
2 ответа
Вы можете отлаживать, подключаясь к процессу с удаленного компьютера через Visual Studio.
Однако может быть более простое решение. Приложения WinForms имеют класс Program. Если вы поместите фразу Try -Catch вокруг кода в классе Program, который запускает вашу форму, то при сбое приложения вы можете записать исключение с полной трассировкой стека. Оттуда вы сможете с большей готовностью определить проблему (которая, как мне кажется, будет связана с привилегиями) и исправить ее.
Если вы хотите отладить экран входа в систему, вам понадобится отладчик ядра.
msvsmon, а остальные не будут запускаться с экрана входа в систему, поскольку пользовательский сеанс отсутствует (поскольку вы еще не вошли в систему).
Отладка CLR из отладчика ядра будет интересной; можно получить некоторую базовую отладку CLR от windbg, но это будет не просто.
Вы можете просто создать файл журнала (или использовать трассировку событий для Windows, которая позволяет избежать множества проблем с безопасностью), чтобы отследить сбой.