3

約 1 時間前にデバッグが正常に機能していたプロジェクトがありますが、最新の再構築後、シンボル ファイルを読み込むことができないため、ブレークポイントに到達できません。

ここで提案されている修正をすべて試しました。「ブレークポイントは現在ヒットしません。このドキュメントにはシンボルが読み込まれていません。」</a> となり、PDB を読み込むことができません。ここSOにロードされない.PDBファイルに関する質問がたくさんあります.最後の1時間、できるだけ多くの質問を調べて、提案されたすべてを試してみましたが、役に立ちませんでした.

Build>Rebuild SolutionBuild>Clean+ Build>Build SolutionBuild>Clean+ Build>Rebuild Solution、BIN出力フォルダーからすべてのファイルを手動で削除しようとしました +Build Solutionおよび/またはRebuild Solution. いずれの場合も同じことが起こります。コンパイラは新しい .DLL ファイルと .PDB ファイルにまたがるブランドを作成しますが、.PDB は実行時のロードを拒否します。

試してみDebug>Windows>Modules>[Right-Click on offending symbol library]>Load Symbolsて、正しい.PDBファイルを手動で参照しましたが、ヒットOpenすると、「このフォルダーに一致するシンボルファイルが見つかりませんでした」と表示されます。

を使用するDebug>Windows>Modules>[Right click...]>Load Symbol Informationと、次のことがわかります。

C:\Windows\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\bin\Debug\ssoederPDMupgrade.pdb: PDB がイメージと一致しません。C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB がイメージと一致しません。C:\Windows\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\Windows\symbols\dll\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\Windows\dll\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: PDB ファイルが見つからないか、開くことができません。C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB がイメージと一致しません。SYMSRV: C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\AFE14027E9C6490883D12F2F139CB5911\ssoederPDMupgrade.pdb が見つかりません

SYMSRV: http://msdl.microsoft.com/download/symbols/ssoederPDMupgrade.pdb/AFE14027E9C6490883D12F2F139CB5911/ssoederPDMupgrade.pdb が見つかりません

http://msdl.microsoft.com/download/symbols : シンボル サーバーでシンボルが見つかりません。

4

4 に答える 4

1

答えはあまりありませんが...
VS Express 2013で何かが壊れたと思います.方法や理由はわかりません.ここでは完全に間違っているかもしれません. .

VS Community 2015 (VSC 2015) をインストールすると、シンボル ファイルが問題なく読み込まれ、すべてのブレークポイントがヒットします。これにより、既存の VS Express 2013 (VSC 2013) インストールでもすべてが機能するようになったので、どちらでも問題なく作業できます。


イベントのタイムライン:

  1. 私は VSE 2013 でこの同じプロジェクトに 1、2 か月取り組んでいます。クラス ライブラリを作成し、 を使用してデバッグしDebug>Attach to processます。

  2. 昨日、単一のクラス モジュール内のコードにいくつかの変更を加え (他に変更はありません) Build>Rebuild Solution、現在の構成 (DEBUG) 出力ファイルを消去して再生成するために使用しました。

  3. イベント ホライズン:いつものように使用してデバッグに行ったAttach to processところ、シンボルが読み込まれていないためヒットしないというメッセージが表示され、ブレーク ポイントが中空に見えました。

  4. ここに投稿する前に、これを解決するためにかなりの時間を費やしました(何が試行されたかの詳細については、元の質問を参照してください)。

  5. Symchkコマンドラインからの使用に関して @HansPassant から提案を受けました。リンクされている指示に従おうとしましたが、機能させることができませんでした - コマンドラインが認識されなかったSymchkSymchk.exe、有効なコマンド/プロセス/などとして認識されませんでした。

  6. WDK 8.1 更新プログラムをダウンロードしてインストールしました。

  7. VSE 2013 を開くと、ドライバーのロードに失敗したというエラー メッセージが表示され、ロードする前にアプリケーションがフリーズしました。 実際、何度も試してみたところ、ウェルカム画面が表示されることがありましたが、それでも応答しませんでした。

  8. M$ VS サイトにアクセスして、VSE 2013 インストール ファイルの最新コピーをダウンロードし、修復インストールを行ったところ、新しいバージョンである VSC 2015 があることに気付きました。

  9. VSC 2015 をダウンロードしてインストールしました。

  10. Debug>Attach to processプロジェクトを開き、使用してデバッグを開始し、機能しました-すべてのシンボルがロードされ、ブレークポイントが機能しました。注: プロジェクトで何も変更しませんでした * - 開いて実行しただけです。
    *プロジェクトを開くだけで、私が知らないうちにIDEによっていくつかの変更が加えられない限り

  11. これにより、VS2013 のインストールで破損したドライバーも修復されたようで、VSE 2013 に戻ってエラーなしで開き、同じプロジェクトを開いて実行しAttach to process、すべてのシンボルが読み込まれ、ブレークポイントが再び機能するようになりました。

于 2015-08-18T14:24:32.917 に答える
0

VS2013 Ultimate でも同じ問題がありました。アセンブリのクリーンアップとビルドを数回行い、すべての一時ファイルを から削除しましたC:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

また、「デバッグ -> オプションと設定 -> シンボル」で、除外されたモジュールがないことも確認しました...最終的に、GAC にデプロイされたものとは異なる参照を見つけました。

于 2015-09-29T15:07:02.603 に答える
-1

CBRF23 が動作するようになってよかったです。DevC++ で DirectX エフェクト ファイルをコンパイルしようとすると、この問題が発生しました。私が見つけた最も簡単な pdb のダウンロード方法は、最初に次の URL から WinDBG ダウンロードすることです。C:\windows\system32 から d3dx9d.dll をコピーし、別のコピーを (デバッガーの) windbg symchk.exe フォルダーに貼り付けてから、インターネット サーバーに接続し、Windows のスタート メニューに移動して、実行: [次に入力] cmd [Enter キーを押します。 ]、次に、コマンド プロンプト (MS-DOS ウィンドウ) に移動して、windbg デバッガー フォルダーに移動します (たとえば、C:\windbg_6p12p0002p633\debugger_x86 フォルダーにある場合は、次のように入力します)。

cd windbg_6p12p0002p633[入力] cd debugger_x86

[そして最後に次のように入力しますが、2 つのアスタリスク ** を 1 つのアスタリスク * に変更します:]

symchk /if d3dx9d.dll srv**c:\symbols*\mainserver\symbols* https://msdl.microsoft.com/download/symbols

srv の後のアスタリスクは 1 つだけであることに注意してください (この投稿では、アスタリスクを斜体または太字として解釈します)。2 つではなく、symchk.exe を開き、入力された dll に関連付けられた pdb シンボル ファイルをC:\symbols\ フォルダを自動作成!

于 2016-03-08T08:24:34.027 に答える