7

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

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

有什么办法可以在Win7中调试登录屏幕保护程序?

4

2 回答 2

0

如果要调试登录屏幕,则需要附加内核调试器。

msvsmon 和其余部分不会从登录屏幕运行,因为没有用户会话(因为您还没有登录)。

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

您可以只创建一个日志文件(或使用Windows 事件跟踪,这可以避免大量安全问题)来跟踪故障。

于 2012-01-07T00:18:42.880 回答
0

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

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

于 2011-12-13T18:34:38.437 回答