8

IDE で実行すると、突然ハングすることがある vb.net プロジェクトがあります。通常、これは問題になりません。「一時停止」を押して、現在実行中のスレッドを見て、デッドロック (またはその他のもの) を見つけてください。

しかし今、プログラムがハングするだけでなく、一時停止しようとすると、Visual Studio 自体がハングする状況に陥っています。制御を取り戻すには、デバッグ中のプログラムのプロセスを強制終了する必要があります。その時点で、Visual Studio が復活し、実行を一時停止できなかったと表示されます。プロセスを強制終了すると、プログラムの状態が失われることを意味するため (もちろん)、ハングがどこにあるのかわかりません。

では、この動作の一般的な原因はありますか? 何を探すべきですか?

4

5 に答える 5

6

プログラムがグローバル フック (アプリと通信する) をインストールする場合 - これが該当する可能性があります。フックが (デバッガーによって一時停止されている) アプリとの通信を試み、ロックされます。また、デバッガーはそのウィンドウ メッセージを受信できません: フックされたデバッガー (フック dll を使用) とフックしているアプリの間の古典的なデッドロック。

于 2009-05-28T23:12:54.797 に答える
3

Visual Studio の問題に対する特定の修正を見つけるのは難しい場合があります: http://social.msdn.microsoft.com/Search/en-US/?query=visual%20studio%202008%20hang&ac=3

さらに、Microsoft からのすべての修正プログラムが直接公開されるわけではありません。システムに特定の問題が発生しているお客様にのみ配布されるものもあります。そのため、Microsoft に連絡して修正を入手する必要があります。これは、他の何かを壊す可能性のある修正プログラムをリリースすることの潜在的なマイナス面を制限するために行われます。したがって、他のすべてが失敗した場合は、電話をかけてください。

Visual Studio が動作し始めたときに、私がやりたいことがいくつかあります。

  1. 古いブレークポイントを削除し、変数を監視します。
  2. Visual Studio が実行されていない状態で、Intellisense ファイル (.ncb) を削除します。
  3. ソリューションをクリーンアップしてから、すべてのコードを再構築します。
于 2009-05-24T05:37:24.553 に答える
0

Debug -> Delete all breakpoints を使用して問題を解決しました。

于 2012-08-06T06:41:27.637 に答える
0

ホットフィックスとサービス パックを確認します。.net プログラミングとデバッグのハングに関連するバグを見てきました。(64 ビット os:es で C++ 32 ビット アプリをデバッグすると、VS がハングすることがあります。)

于 2009-05-23T19:24:32.363 に答える
-1

デバッグ中のプログラムのコードを確認したいのですが、デバッグしようとしているコードに無限ループまたは競合状態がある可能性があると思います。これは、特に私が以前持っていたシングルコアのラップトップで、過去に私に当てはまりました。一時停止しようとしたときに、実行がプログラムのどこにあると思われるかについて、何か情報を提供できますか?

于 2009-05-23T19:18:46.510 に答える