4

Windows Forms と Visual Studio 2010 Professional を使用して C# アプリケーションを作成しています。マシンは Windows 7 Enterprise を使用しており、32 ビットです。関係ないと思いますが、仮想マシンで作業しています(リモートデスクトップ接続を使用)。

問題は、フォームの Load メソッドで例外が生成されると、VS とプログラムの両方がフリーズ/ハングし (実際には、フォルダーを表示したり、デスクトップに移動したりすることさえできません)、プロセスを強制終了すると停止することです。私がデバッグしていたアプリケーションの。

これはデバッグ モード (F5) で発生し、非デバッグ モード (ctrl+F5) では発生しません。これについてよく検索しましたが、これは x64 マシンの既知の問題です。これが、多くの人が 64 ビット コンピューターについて報告しているのとまったく同じように、x86 アーキテクチャで発生していることを非常に奇妙に感じる理由です。

今では、ロード関数以外の別の関数でデバッグしたいコードを実行することで解決していますが、将来的には問題になる可能性があります。

ご意見をお寄せいただきありがとうございます。

- - - - - - - - - - - - - - - 編集 - - - - - - - - - - --------------------------

Load メソッドでブレークポイントを使用してデバッグすることさえできないことに気付きました (ブレークポイントを表示する代わりに、ハングするだけです...)。以前にこの問題を抱えた人はいませんか?:/

4

2 に答える 2

2

さて、何が問題なのかがわかりました。

問題は、フォームのプロパティ 'TopMost' を true に設定していたことにありました。奇妙なことに、例外が発生したとき、ハングアップの状況をシミュレートしたアプリケーションを最小化することさえできませんでしたが、フォームが VS からの応答を待っているだけでした (例外が表示されていましたが、表示されていました)。 )。「Load」メソッドの場合と同様に、フォームはフリーズしたままで、強制終了する以外に方法がありませんでした。

あなたの提案をありがとう、そして私は最終的に私が間違っていたと思います、それは本当にコードにありました:)

(何かが確実に解決されたら、このスレッドを閉じるか、何をしてもかまいません:P)

于 2013-03-28T15:21:02.277 に答える
0
于 2013-03-28T10:43:07.763 に答える