2

私は C# で書かれた大規模な Winforms アプリケーションを持っていますが、これは定期的に応答しません。この問題は、アプリケーションを 1 時間程度使用すると発生するようです。ユーザーは頻繁に別の作業に取り掛かり、戻ってきて応答しなくなっていることに気付くため、正確なタイミングを収集することは困難です。

過度のメモリ使用量が見られないため、メモリ リークを除外できると思います (ユーザーにタスク マネージャーのスクリーンショットを送信するように依頼しましたが、メモリ使用量は、アプリケーションが正常に実行されている場合と同じです)

同様に、CPU 使用率は正常です (1 桁の %)

これまで開発用 PC で問題を再現できなかったため、影響を受けるユーザーの 1 人の隣に座って、ユーザーが実行するすべてのアクションをミラーリングして再現することを計画しています。(メイン PC にラップトップを RDP でセットアップします)

問題を再現することも 1 つの方法ですが、アプリケーションで実際に何が起こっているのかを調べる必要があります。

デバッグ モードで (Visual Studio を使用して) 実行するだけで十分か、それとも別のことをする必要があるかを誰か教えてもらえますか?

いくつかの投稿を検索したところ、プロファイリング ソフトウェアについての言及がありましたが、これが一般的なパフォーマンスの問題やメモリ管理の問題にのみ役立つかどうかはわかりません。

あるいは、誰かが同様のフリーズの問題に遭遇したことがある場合、その原因について何か提案はありますか?

いくつかの技術的な詳細: アプリケーションは C# で、.NET 3.5 に対してコンパイルされ、winforms GUI です。いくつかの外部ライブラリがあります (最も重要なのは ComponentFactory Krypton Suite です)。データ アクセスは、Microsoft SQL Server 2005 データベースに対するものです。ソリューションには 39 のプロジェクトが含まれていますが、それが何か関係があるかどうかはわかりません。

任意の提案/指針をいただければ幸いです。

4

1 に答える 1

0

アプリケーションはより確実に動作するようになりました。フリーズの問題は時々発生しますが、以前ほど頻繁ではありません。

この問題は、私が作業している環境に存在するエンドポイント セキュリティ (この場合は Cisco Security Agent) に関連しているようです。アプリケーションはホワイトリストに登録されており、アプリケーション ハングのインスタンスが大幅に削減されました。私が取り組んでいる開発システムには、このエンドポイント セキュリティが存在しないため、テストの初期段階では表示されませんでした。

フィードバックをお寄せいただきありがとうございます。クリーンアップが必要なスレッドとガベージ コレクションの問題がまだあると思います。うまくいけば、これで最後のいくつかの問題が整理されるはずです。

于 2012-09-28T09:03:27.040 に答える