如何在Win7中调试登录屏幕保护程序?

时间:2011-03-31 21:03:40

标签: debugging windows-7 screensaver windows-screensaver

我有一个.Net 2.0 WinForms应用程序,我正在尝试用作登录屏幕保护程序(64位Win7Pro)。当我登录时,它从命令行运行得很好,并且作为我的屏幕保护程序。但是,它在作为登录屏幕保护程序运行时会立即退出。

我知道它得到一个CLR异常,因为它的退出代码是0xE0434F4D,但我无法弄清楚如何调试它。

有没有办法在Win7中调试登录屏幕保护程序?

2 个答案:

答案 0 :(得分:0)

您可以通过Visual Studio从远程计算机附加到进程来进行调试。

然而,可能有一个更简单的解决方案。 WinForms应用程序有一个Program类。如果在启动表单的Program类中的代码周围放置一个Try-Catch短语,那么当应用程序崩溃时,您可以使用完整的堆栈跟踪记录Exception。从那里你应该能够更容易地确定问题(我的猜测与特权相关)并纠正它。

答案 1 :(得分:0)

如果要调试登录屏幕,则需要连接内核调试程序。

msvsmon,其余的不会从登录界面运行,因为没有用户会话(因为你还没有登录)。

从内核调试器调试CLR会很有趣; 可能从windbg获得一些基本的 CLR调试,但这并不简单。

您可能只是创建一个日志文件(或使用Event Tracing for Windows,以避免大量安全问题)来追踪失败。

相关问题