2

プロジェクトに取り組んでおり、システムで見つかったバグを修正しようとしています。私がアクセスできるコードがビルドされません (多くの dll ファイルを含む巨大なプロジェクトであり、そのうちのいくつかはワークスペースにありません)。デバッグしようとしているコードの一部にアクセスできますが、ビルドできません。だから私はコンパイルされた.exeファイルを開始し、VSでそれに添付しました。コードにブレークポイントを設定すると、それは無効になり、No symbols have been loaded for this document.「私の質問は、デバッガーが探している追加の情報/ファイルは何ですか? pdb私のマシンには存在しない特定のアセンブリのファイルを探していると思います。

exe ファイルにアタッチしようとすると、次の警告が表示されます。

ここに画像の説明を入力

4

3 に答える 3

6

デバッガーが探している追加情報/ファイルは何ですか? 私のマシンには存在しない特定のアセンブリのpdbファイルを探していると思います。

あなたの仮定は正しいです。

問題を解決できるいくつかの方法は次のとおりです。

  • PDB を含むシンボル サーバーの場所を取得し、PDB を自動的にダウンロードするように VS を構成します。
  • 他の方法で PDB を取得します。
  • 自分でビルドする方法を見つけてください。独自の PDB を構築します。
  • ビルドした人に問題のデバッグを依頼してください。それはおそらく彼らのバグなので、彼らに仕事をさせてください。
  • ソースを読み、頭の中でプログラムの実行をシミュレートして、問題をデバッグします。シミュレーションで本来の動作をしないコードに遭遇した場合、それはあなたのバグです。
  • ソースの代わりにアセンブリ コードを読み取り、デバッガーで問題をデバッグします。
于 2013-05-10T18:49:44.360 に答える
3

pdb ファイルを探していますが、それがないとデバッグできません。あなたの状況の詳細はわかりませんが、システム上に構築することがおそらく最善の方法です。私の経験では、この状況は通常、ソース ツリーのノードが深すぎることが原因です。大規模なプロジェクトに取り組んでいる間、ソース管理でより浅いノードを使用することで、私の人生は劇的に簡素化されました。そのようなプロジェクトに取り組んでいるときは、それをビルドできるようにしなければなりません。そうでなければ、おそらくどこにもたどり着きません。

リモート デバッグしているものが公式ビルドからのものである場合、pdb ファイルがないため、ドロップ フォルダーを見つけて pdb をコピーするなどの簡単な回避策はありません。

于 2013-05-10T18:48:35.533 に答える
0

実行可能ファイルを実行して何をするのかわかりません。あなたのコードはビルドされないと言いました。したがって、実行可能ファイルを実行しても役に立ちません。コードをコンパイルできないのは、ビルド エラーまたはコンパイル エラーを共有するよりも直面していることですか? アセンブリが見つからない場合 - プロジェクト参照から削除し、そのようなアセンブリを参照する可能性のあるプロジェクト内のコードをコメント アウトします。その後、コードをビルドできますか?

コードをビルドできたら、デバッグを行ったり、実行可能ファイルをアタッチしたりできます。

お役に立てれば!

于 2013-05-10T18:59:16.590 に答える