5

Visual Studio 2010を使用してC#.dllをリモートデバッグします-.PDBファイルの取得は一致しません-それでも、ビルドからの完全なものです...............

新しい情報:[[この問題は解決されていません。私は3台のコンピューターを持っています:a)XP sp3、b)XP sp3、c)Vista sp1、a)とc)で最も単純なテストプログラムを構築でき、モジュールウィンドウを使用して-test5.exeを選択してロードします作成時に作成された.pdb-同じ日付同じ時間同じフォルダー...それでもVisualStudioは「このフォルダーに一致するシンボルファイルが見つかりませんでした」と表示します-正しい.pdbをロードするためのすべての努力は、一致しないで失敗します苦情....それは:a)b)またはc)にリモート-または-c)a)またはb)にリモート---ヘルプ!]]

.PDBの場所を暗黙的および明示的に設定しました-関係ありません...。

ソースファイルが完全に一致する必要があることをチェックしないようにシンボル設定を設定しました...。

エラーは表示されません。

ただ:


C:\POSWIN\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\obj\Debug\DBS.KGW.tst7.pdb: PDB does not match image.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\symbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\DBS.KGW.tst7.pdb: PDB does not match image.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\MicrosoftPublicSymbols\symbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\MicrosoftPublicSymbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\MicrosoftPublicSymbols\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\WINDOWS\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\WINDOWS\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.

4

3 に答える 3

5

いくつかの提案:

  • Visual Studioで、プロセスに接続しているときに、モジュールのデバッグウィンドウを開きCtrl+DMまたはメニューからDebug-> Windows-> Modules)、問題の原因となっているdllを見つけます。それを右クリックして選択Load Symbols FromSymbol Path、正しいpdbファイルを見つけて、ロードされるかどうかを確認します。
  • アプリがasp.netの場合は、一時フォルダーをクリアしてみてください。これにより、同様の問題が発生することがあります。そのフォルダは、次のような場所に配置する必要があります。

    bootdrive:\%windir%\Microsoft.NET\Framework\v2.0.5 0727\Temporary ASP.NET

.netのバージョンによって異なります。

于 2012-04-18T18:35:44.640 に答える
1

解決策は、リモートデバッグ接続の場合、接続には許可と無許可の2つの方法があります...ファイアウォールの問題については、デフォルトで無許可に設定しました。VS 2010 C#ソリューションの場合、苦情は単に.PDBが一致しないことです。考えられるすべてのオプションを使い果たして、C ++で簡単なテストソリューションを再現しました。インターフェイスが異なり、より優れています。これを設定すると、許可された接続がない限りシンボルを取得できないという警告が表示されます。 !!-ファイアウォールの問題を克服したら-デバッグ中のリモートPCへの許可された接続を介してシンボルを確認したら、その確認を投稿します......ところで、サインオンすると警告が表示されることがよくあります許可された接続を介して、ホストとデバッグされたコンピューターの両方のユーザーIDとパスワードが同じである必要があります。

于 2012-04-19T16:20:24.147 に答える
1

同じ問題が発生し、解決策はとても簡単でした...

私の場合、2つのVSソリューションがあります。1つは.exeを使用するメインアプリで、もう1つは.dllプラグインプロジェクトです。dllプロジェクトをデバッグしようとすると、(モジュールウィンドウで)pdbが一致しないというエラーが発生します。その理由は、pdbが実際にはまったく一致しなかったためです。

最初のソリューションをテストしていたときに、.dllファイルを2番目のソリューションから.exeファイルを含むデバッグフォルダーにコピーしました。
次に、2番目の(.dll)ソリューションをデバッグしようとすると、最初のソリューションの.exeファイルとそのディレクトリの.dllファイルが使用されていましたが、その.dllは古く、新しいpdbファイルと一致しませんでした。したがって、新しい.dllファイルを2番目のプロジェクトから.exeディレクトリにコピーすると、問題が解決しました。

于 2012-08-22T21:19:13.627 に答える