WPFベースのプログラムを実行しているお客様に問題があります。彼は、アプリケーションを起動し、新しいドキュメントを作成し、ツリービューのメニュー項目をナビゲートしてドキュメントのさまざまな部分を表示し、テキストボックスの値のほとんど(すべてではないにしても)を変更し、リストに項目を追加します(基になるコマンドのボタンを使用)。など、すべて問題なく。しかし、ドロップダウンを開いてコンボボックスの値を変更しようとすると、プログラムは「応答しなくなり」、CPUは100%の容量(1つのコア)を使用します。他のランダムな場所でも発生しますが、コンボボックスは常に失敗します。キーボードのみを使用し、タブを使用してコンボボックスに移動する場合、矢印キーを使用して問題なく値を変更できます。プログラムは変更を検出し、問題やパフォーマンスの低下なしにそれに応じて動作します。
関連する場合と関連しない場合があるいくつかの情報:
- 「Seven」をテーマにしたすべてのGUIコンポーネントにDevExpressを使用しています(バージョン12.1.8と12.2.4の両方をテストしました。問題は同じです…)
- 私たちのプログラムは、多くのテキストボックス、コンボボックス、データグリッド、リストボックスなどで構成されています。ドックパネル(Visual Studioなど)を使用しているため、ユーザーは必要に応じてレイアウトを変更できます。グラフィック表示と編集にはWPF3Dを使用します。
- お客様は、ノルウェー語でWindows 7 Professional Edition SP1(64ビット)を搭載したHPラップトップを使用しています
- 彼の解像度:1920 x 1200
- 彼のウィンドウのスケーリング係数:100%(DPIを変更することですべてをスケールアップできるもの)
- 彼がインストールした.NetFrameworkのバージョン:4.0.30319.296
- 彼は自分のコンピューターのローカル管理者です。
- この問題は、インストール場所に関係なく発生します。(主な配布方法であるClickOnceと、コンパイルされたリリースファイルを圧縮されたzipで送信することの両方を試しました。違いはありません…)
- 問題は、この顧客のコンピューターと彼の会社の他の2台のコンピューターの両方で同じであるため、単なる偶然ではありません。
- 特定のフォントキャッシュを削除することで、「標準」のWPF-applications-hangs-solutionを試しましたが、成功しませんでした。(http://support.microsoft.com/kb/937135?wa=wsignin1.0)
- 顧客は700km離れた場所に住んでいるため、コンピューターでデバッグするために顧客のところに行くことは避けたいと考えています。
- セットアップが可能な限り同じであっても、どのコンピューターでも問題を再現することはできません。(同じWindows、同じ.Netなど…)
- アプリケーション全体(ソースコードを記述したもの)のすべてのパブリックメソッドとプロパティのすべてのエントリと終了をログに記録する特別なバージョンのプログラムを彼に送信しました。彼のログファイルと私たちのログファイルを比較して、私たちのコンピューターでは正常に機能しているが、彼では機能していない非常に単純な操作については、何も明らかになりませんでした。ファイルは実質的に同じように見えましたが、hiが終了ボタンをクリックしたときに実行される標準の終了手順が含まれていなかったためです。これは、アプリケーションを「強制終了」する必要があったためです。それ以外は、GUI関連の呼び出しが多かれ少なかれランダムな時間に発生する唯一の違いです(ボタンコマンドが実行できるかどうかをチェックするなど)。それは彼と私たちの両方のログに、ちょうど異なる時間に記録されます。(同じコンピューターで実行された2つの異なるログを比較すると、同じ結果が得られます。
ここではオプションが不足しています。
- この問題を解決するために私たちができることについて誰かが何か提案がありますか?
- 同様の問題を抱えている他のユーザーのことを聞いたことがありますか?(解決しましたか?どうやって?)
- これをリモートでデバッグする良い方法を知っている人はいますか?(これが発生したときに彼がコールスタックを取得できるように、彼に何かを送信できますか?)
ヒントは大歓迎です!
よろしく、スヴェール