web-dev-qa-db-ja.com

VS 2008ブレークポイントは現在ヒットしません。このドキュメントに読み込まれたシンボルはありません

私はこの障害を克服するために奮闘しており、SOの誰かが助けてくれることを期待しています。

enter image description here

class libraryプロジェクトにブレークポイントを設定すると、通常のブレークポイントとして表示されます。ソリューションのデバッグを開始すると、 ブレークポイントがくり抜かれ、感嘆符の付いた黄色の三角形が表示されます の中にあります。ブレークポイントをパンしたときに表示されるツールチップは、「ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません。

このプロジェクトはASP.NETアプリケーションではなく、単にwinFormsアプリケーションです。

ソリューションに複数のプロジェクトがある既存のwinFormsアプリケーションを引き継ぎました。プロジェクトをビルドしてデバッグモードで実行しています。一部のプロジェクトではブレークポイントで停止できますが、他のプロジェクト、特にタイプクラスライブラリのプロジェクトでブレークポイントに到達できません。

これまでに行ったこと:

  • すべてのデバッグフォルダーとリリースフォルダーを削除しました。
  • 私はobjフォルダーを削除し、その後ソリューションを再構築しました。
  • VS2008 IDEを再起動しました。
  • コンピュータを再起動しました。
  • クラスプロジェクトがデバッグビルドに含まれていることを確認するために、ソリューションの構成マネージャーをチェックしました。
  • Dllを参照するつもりはありませんが、dllのデバッグ/モジュールを確認しました。

さらに、SO投稿:で説明されているトラブルシューティングの手順に従いました。

現在、ブレークポイントはヒットせず、シンボルは読み込まれません

VS 2010、NUNit、および「現在、ブレークポイントはヒットしません。このドキュメントにはシンボルがロードされていません」

現在、ブレークポイントにはヒットしません。このドキュメントのシンボルはロードされていません。

デバッグできません-「現在、ブレークポイントにはヒットしません。このドキュメントにはシンボルがロードされていません」

修正「ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません。」

さらに、 Google で見つかった多数の投稿を [〜#〜] msdn [〜#〜] と他の場所の両方から読みました、どれも私の特定のニーズに適合しません。

これらの投稿の一部は次のとおりです。

Visual Studio 2008 "ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません"

現在、ブレークポイントにはヒットしません。このドキュメントのシンボルはロードされていません

現在、ブレークポイントにはヒットしません。このドキュメントにはシンボルがロードされていません。

デバッガーの問題 "現在、ブレークポイントにはヒットしません。このドキュメントにはシンボルがロードされていません

現在、ブレークポイントにはヒットしません。このドキュメントのシンボルはロードされていません。

私が読んだすべての投稿は非常に有益でしたが、提案された解決策のどれも私の特定のニーズに合いませんでした。さらに情報が必要な場合はお知らせください。機能していないものへの参照として提供できるリンクが他にもあります。この問題を解決するために行った追加の手順と同様に。

私はこのフォローアップを投稿して、みんなを驚かせ続けます。問題のプロジェクトファイルを呼び出すには、@ Hans @の提案に従いました。

私は薄暗いfrmをform = new ProjectInQuestion.FormInQuestionとして配置しました

そして

これで、デバッグでアセンブリが読み込まれるようになりました-> Windows-> Modules

新しい問題は、元の問題よりも複雑です。ブレークポイントは正常に見えますが、スキップされています。ブレークポイントで明らかなエラーはありません。

enter image description here

31
Michael Eakins

これは古い質問かもしれませんが、このトピックに関して最も完全な質問の1つだったので、このまさに問題の解決策を見つけた後、私はそれに答えたかったのです。

イントロ

私のプロジェクトはASP.NETアプリケーションですが、WinFormsでも基本的な問題が発生します。この問題は、アセンブリ出力にDLLがない場合に発生します。ただし、参照しているDLLがアセンブリにない別の_ ​​DLLを参照している場合、この同じ例外が発生します。オペレーティングシステムがDLLをロードする方法のため、参照されるDLLは、出力アセンブリではなく環境パスにある必要があります。

プロジェクトAはDLL Dを参照します。DLL DはDLL Xを参照します。DLL Dは出力アセンブリにある場合があります。 DLL Xは環境パスにある必要があります。

この問題の主な原因は、オペレーティングシステムが実行時にネイティブDLLをロードする方法にあります。ネイティブDLLは、次のロジックを使用してロードされます。このロジックには、一時ASP.netファイルもアプリケーションの/ binフォルダーも含まれていません。この問題は、ネイティブDLLが.EXEファイルの/ binフォルダーに含まれていない場合、またはDLLがパスに含まれていない場合に、.Netアプリケーションでも発生します。環境変数。

パーソナルソリューション

DivaAPIWrapper.dll(C#ではマネージドDLL)と呼ばれるDLLを使用していました。ただし、DivaAPIWrapper.dllを動作させるにはDivaAPI.dll(アンマネージC++)が必要であることを知っていました。 DivaAPI.dllをすべての出力パスに配置しましたが、このエラーが発生し続けました。 DivaAPI.dllを環境パス(C:\ windows\Microsoft.Net\Framework\v2.0.50727)に配置した後にのみ、機能しました。 注意:新しいバージョンの.NETフレームワークを使用している場合は、パスが異なる場合があります!

Jerry Ormanによる完全なソリューション

ここにリンクを参照してください: http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx

12
Magnum

私も同じ問題に直面し、インターネットから多くの解決策を見つけましたが、解決策は以下にリストされています:

フレームワークバージョン4.0で作成したアプリケーションが原因で、v2.0より前のバージョンのプロセスをアタッチしようとしていたため、以下に示すように、マネージコードバージョンを使用してフレームワークバージョンを確認してください。

enter image description here

7
Bhaumik Patel

これは最近、実行中のプロセスに接続するときに起こりました。問題は、デバッグオプションが

接続先:ネイティブコード

私の場合、それは次のようにする必要がありました:

接続先:マネージコード

4
Kim

私が最近発見し、かなりうまくいったことの1つです!!!

ホスティングアプリケーション(使用するdllを呼び出すアプリケーション)には、次の行が必要です。

<supportedRuntime version="v4.0"/>

「WhateverApplicationItIs.exe.config」ファイルの<configuration> セクション。

例:(「...」はファイル内にあるものとして参照し、そのままにします)

<configuration>
    ...
    <supportedRuntime version="v2.0.50727"/>
</configuration">

PS:このバージョンを、プロジェクトプロパティで設定されているターゲットフレームワークと一致させるようにしてください。 2.0.50727は3.5フレームワークに、4.0フレームワークには4.0が良いと思います。

私にとっては、異なるアプリケーションでデバッグしようとしていた2つの異なるDLLを解決しただけです。

3
Daniel

このプロジェクトのコンパイルを目的としたプロセッサを変更していないことを確認してください。持っていて、それを元に戻したとき、すべてが再び機能しました。どうやらプロセッサの変更はそれを「オリジナルとは異なる」ようにします

1

同じプロジェクトグループにロードされた別のプロジェクトでdllを呼び出すVb.net-formsアプリケーションで、VS2008で同じ問題が発生しました。私はこの簡単な解決策を見つけました:Dim pmg As New PMGExport.PMGExportNeuのようなform_loadイベントにインスタンスをロードしました。

1
Wohlstand

ツールバー([実行]ボタンのすぐ横)のソリューションコンフィギュレーターモードが[リリース]ではなく[デバッグ]に設定されているかどうかを確認してください

1
Cenk

お役に立てれば...

デバッグモードの場合でも、bin\ReleaseフォルダーにあるDLLを参照していました。

DLLをbin\Debugフォルダにコピーし、VSを実行すると、ブレークポイントにヒットしました。

1
Data46

これを試してください。Vs2008では、[ツール]-> [オプション]-> [デバッグ]-> [一般]->未チェック/無効に移動します。

1
hanamant

ツールバー([実行]ボタンの右隣)のソリューションコンフィギュレーターモードが[リリース]ではなく[デバッグ]に設定されているかどうかを確認してください。

0
questore

確認してください - debug modeは、デバッグを開始する前にVisual Studioで選択されています。

近くのドロップダウンを確認してください Play Visual Studioのボタン。

0
Anoop M V