7

ログオン スクリーンセーバー (64 ビット Win7Pro) として使用しようとしている .Net 2.0 WinForms アプリがあります。ログインしているときにコマンドラインからスクリーンセーバーとして問題なく動作します。ただし、ログオン スクリーンセーバーとして実行するとすぐに終了します。

終了コードが 0xE0434F4D であるため、CLR 例外が発生していることはわかっていますが、デバッグ方法がわかりません。

Win7 でログオン スクリーンセーバーをデバッグする方法はありますか?

4

2 に答える 2

0

Visual Studio を介してリモート コンピューターからプロセスにアタッチすることで、デバッグできる場合があります。

ただし、もっと簡単な解決策があるかもしれません。WinForms アプリケーションには Program クラスがあります。フォームを起動する Program クラスのコードの周りに Try--Catch フレーズを配置すると、アプリケーションがクラッシュしたときに、完全なスタック トレースで例外をログに記録できます。そこから、問題をより簡単に特定し (私の推測では権限に関連するものと思われます)、修正できるはずです。

于 2011-12-13T18:34:38.437 に答える
0

ログオン画面をデバッグする場合は、カーネル デバッガーを接続する必要があります。

msvsmon と残りは、ユーザー セッションがないため (まだログインしていないため)、ログオン画面からは実行されません。

カーネル デバッガーからの CLR のデバッグは興味深いものです。Windbg から基本的なCLR デバッグを実行することは可能ですが、単純ではありません。

エラーを追跡するために、ログ ファイルを作成する (または、大量のセキュリティ問題を回避するEvent Tracing for Windows を使用する) だけかもしれません。

于 2012-01-07T00:18:42.880 に答える