c# - どのように私は "ブレークポイントは現在ヒットすることはありません。 この文書にはシンボルがロードされていません。 "




.net visual-studio (20)

Express EditionのC#デスクトップアプリケーション。 その後5秒後に作業していませんでした。

私は次のことを試みた。

  • デバッグ設定、デバッグフラグ、および完全なデバッグ情報がすべてのアセンブリで設定されていることを確認してください。
  • すべてのbinおよびobjフォルダと、プロジェクトに関連するすべてのDLLをマシン全体から削除します。
  • 問題の原因となったプロジェクトを最初から再作成する。
  • リブート。

ソリューションには2つのWinFormsプロジェクトがあります。 そのうちの1人がデバッグ情報を読み込みますが、1つはデバッグ情報を読み込みません 両方とも、私はプロジェクトファイルで全く同じ方法でデバッグ情報を取得しようとしているアセンブリを参照しています。 何か案は?

私は、ここでは、主に自分自身のために、この質問を検討するために戻ってくるときに、アセンブリがロードされるまでシンボルがロードされず、アセンブリが必要になるまでロードされないようにしたいと考えています。 ブレークポイントがメインアセンブリの1つの関数でのみ使用されているライブラリにある場合、その関数が呼び出されるまで、シンボルはロードされません(ブレークポイントはヒットしていないと表示されます)。


.pbdファイルがbin / Debugフォルダにないか確認してください。 プロジェクトの「プロパティ」に移動した場合は、「ビルド」を選択し、次に「詳細」を選択します。 表示された新しいウィンドウで[デバッグ情報]の下の[フル]を選択します。 これは私の問題であり、私にとってそれを解決しました。


ASP.Netアプリケーションの場合は、サイト「ASP.NET」タブのプロパティを確認します。 正しいASP.NETバージョンが選択されていることを確認します。


Windows内でVisual Studioを管理者として実行してみてください。


「プロジェクト」 - >「プロパティー」 - >「 ビルド」タブ - >「 コードの最適化」のチェックを外して右クリックします。 ソリューション内のすべてのプロジェクトに対して実行する


これは、上記の他のオプションを試してみると、いくつかの奇妙な理由でデバッグが動作を停止してしまった。

ツール - >オプション - >デバッグ - >一般 - >(untick) "元のバージョンと正確に一致するようにソースファイルを必要とする"


これらすべてのことを単に行うのではなく

閉じると再開

問題を解決するソリューション


オプション "デバッグ開始、デバッグ+ Windows +モジュール"は、Microsoft Visual Studio Express 2013エディションには存在しません。

ツールオプションデバッグの「管理された互換モードを使用する」のチェックを外すと、これが修正されます。


コンパイラ設定で「デバッグ情報を生成」を有効にする必要があります


デバッグ/一般設定で「マイコードのみ」オプションを無効にします。


ブレークポイントに到着するとすぐにデバッグを開始するか、 Debug > Break Allを使用し、 Debug > Windows > Modules使用します。 プロセスにロードされているすべてのアセンブリのリストが表示されます。 デバッグ情報を取得したいものを探します。 それを右クリックして、シンボルロード情報を選択します。 アセンブリの.pdbファイルを探すディレクトリをすべて一覧表示するダイアログが表示されます。 リストを実際の.pdbの場所と照合して確認します。 古いものが見つからないことを確認してください。

通常のプロジェクトでは、アセンブリとその.pdbファイルは、IDEによって常に.exeと同じフォルダにコピーされます。 プロジェクトのbin \ Debugフォルダー。 あなたがGACから遊んでいる場合は、必ずGACから削除してください。


場合によっては、このエラーが発生しても、 breakpointまだヒットするので、エラーを無視してください。 これは、 MVC web app Viewsでかなり頻繁に発生します。


最初にプロジェクトを右クリックしてプロジェクトを再構築してみてください>再構築しても問題が解決しない場合は、プロジェクトをクリーンアップしてください(プロジェクトをクリックしてクリーンアップしてください)

それがうまくいかない場合は、これをチェックしてください:

  1. プロジェクトを右クリックします。
  2. [プロパティ]
  3. [ビルド]タブを選択します
  4. [DEBUG定数の定義][TRACE定数の定義]がチェックされていることを確認してください
  5. [ビルド]タブの下部にある[詳細設定]ボタンをクリックします
  6. [Debug Info:][full]に設定されていることを確認してください
  7. [OK]をクリックし、プロジェクトを再構築します;-)

(ステップ6は.pdbファイルを生成します。これらはデバッグシンボルです)


確認するだけのこと:設定が「リリース」ではなく「デバッグ」に設定されていることを確認してください。 スタートアッププロジェクトを「リリース」モードでデバッグできますが、参照されるクラスライブラリはデバッグできません。


私たちは問題の原因を見つけました。 このコードは、 "CodeFile"属性(ASP.NET 2.0以降)の代わりに.aspxファイルのPageディレクティブで "CodeBehind"属性を使用していました。 何日も絶望した後、簡単な検索と交換が問題を解決しました。


私の場合、私はrelaseモードでデバッグしようとしています。 一度私はそれをデバッグモードに変更します。 その働き


私はVS10を使って静的ライブラリとC#アプリケーションを統合していました。 私はそれらをインターフェイスするためにマネージコードDLLを書いた。 どこでもブレークポイントを設定できましたが、静的なlibです。 私は上記のメッセージを受け取りました。この文書のシンボルはロードされていません。 私は上記の提案の多くを試しました。 シンボルが読み込まれていないことがわかりました。 私は最終的に、Configuration Debug、Unmanaged Code Debuggingを有効にするチェックボックスに気付きました。 これにより、静的なlib関数にブレークポイントを設定することができました。


私は上記のすべての答えを注意深く読んだが、誰も私の問題を解決しなかった。

私の場合は、クラスライブラリ(DLL)をコンパイルしていました。 デバッグ - >モジュールにロードされているモジュールはないので、手動でシンボルをロードすることさえできませんでした。

私の解決策は、私のコードにこの行を追加することでした:

System.Diagnostics.Debugger.Launch();

このコードに達すると、例外がトリガされ、.NET Frameworkには、プログラムのデバッグに使用するVisual Studio(つまり、VS 2008の新しいインスタンス、VS 2013の新しいインスタンスなど)を確認するダイアログボックスが表示されます。 プロジェクトをロードして、既存のVSインスタンスを選択できます。 これにより、プロセスがVSセッションに接続され、すべてのシンボルがロードされ、プロジェクトをデバッグできるようになります。

もちろん、コンパイルはReleaseではなくDebugの設定を使用して行う必要があります。


私は上記のすべてを試しましたが、何も働かなかった。 [ソリューションをクリーンにし、PDBファイルなどを確認する]

同じソリューションを公開しても問題は解決しませんでした。

それから、私は通常私が解決しようとしていることに戻りました(この頑固なVisual Studioを欺く)

私がしたのは、コードを意図的に変更して解決策を公開することでした。 それから、私はその変更を元に戻し、再び公表しました。

Voila [悪魔のPDBファイル] ..スマートな解像度ではないが、これは動作しました..: - |


試してみるだけの簡単な方法 - 既に試したことがあります。 ソリューションエクスプローラで[ソリューション]を右クリックし、[ソリューションのクリーンアップ ]をクリックすると、ソリューションに関連付けられたコンパイル済みファイルと一時ファイルがすべて削除されます

ソリューションの再構築を行い、再度デバッグを試みます。

私は解決策の中で複数のプロジェクトをブレークポイントで悩ましていました - いくつかはx86として、いくつかはx64としてコンパイルされました。


選択された答えは、私の問題を解決するために私を導いた。 しかし、私はいくつかのことをもっとやる必要があります:

ドロップダウンで「デバッグ」を選択しても:

そして、プロジェクトのプロパティ>ビルド:

Visual Studioはシンボルを特定のプロジェクトにロードしていませんでした。 そのドロップダウンで私は "Configuration Manager"を選択し、私のWebプロジェクトへの設定が間違っているのを見ました:

それから私はそれを "デバッグ"に設定し、 .pdbファイルを生成し始めました。 しかし、私は手動でPDBとDLLをコピーして、VSが探していたフォルダに置く必要があります(ここでは、選択された答えが私を助けました):





breakpoints