C# デスクトップ アプリケーション (Visual Studio Express エディション) は動作しましたが、5 秒後に動作しなくなりました。
次のことを試しました:
- すべてのアセンブリにデバッグ構成、デバッグ フラグ、および完全なデバッグ情報が設定されていることを確認します。
- マシン全体から、プロジェクトに関連するすべての bin および obj フォルダーとすべての DLL ファイルを削除します。
- 問題の原因となっているプロジェクトを最初から再作成します。
- リブート。
ソリューションには 2 つの Windows フォーム プロジェクトがあります。1 つはデバッグ情報を読み込みますが、もう 1 つは読み込みません。どちらも、プロジェクト ファイル内でデバッグ情報を取得しようとしているアセンブリをまったく同じ方法で参照しています。何かアイデアはありますか?
ここで付け加えておきたいのは、主にこの質問を再検討するために戻ってきたときのために、アセンブリが読み込まれるまでシンボルは読み込まれず、アセンブリは必要になるまで読み込まれないということです。ブレークポイントがメイン アセンブリ内の 1 つの関数でのみ使用されるライブラリ内にある場合、その関数が呼び出されるまでシンボルは読み込まれません (ブレークポイントはヒットしていないものとして表示されます)。
ベストアンサー1
ブレークポイントに到達したら、または を使用したらすぐにデバッグを開始し、Debug > Break All
を使用しますDebug > Windows > Modules
。プロセスにロードされているすべてのアセンブリのリストが表示されます。デバッグ情報を取得するアセンブリを見つけます。それを右クリックし、[シンボル ロード情報] を選択します。.pdb
アセンブリのファイルを検索したすべてのディレクトリをリストするダイアログが表示されます。そのリストを実際の.pdb
場所と照合します。古いものが見つからないことを確認します。
通常のプロジェクトでは、アセンブリとそのファイルは、IDE によって常に と同じフォルダー(つまり、プロジェクトのフォルダー.pdb
) にコピーされているはずです。使用していた場合は、GAC から必ず 1 つを削除してください。.exe
bin\Debug