2016-10-06 4 views
1

私はこれまでの解決方法を検索しましたが、見つけられませんでした。Visual Studioでデバッグすると、シンボルサーバ上のファイルではなく、間違ったソースが開きます(ソースファイルの名前が同じ場合)

TeamCityを設定して、シンボルとソースの両方を含むパッケージをProGetに公開するようにしました。このプロセスはすばらしく機能し、ProGetはシンボルを正しく識別します。

私は[オプション] - > [デバッグ:>シンボル

  • におけるシンボル位置に有効ソースサーバーのサポートオプション - >デバッグ:>一般の追加すなわち

    • ProGetのナレッジベース上の指示に従って、セットアップのVisual Studioを持っています

    私はFiddlerをチェックインしました。私は、デバッグで私たちのアプリを起動するとシンボルがダウンロードされました。

    その後、私たちのパッケージ内のメソッドの1つにステップインすると、間違ったファイルが開きます。しかし、それが開くファイルは同じ名前です(それぞれのパッケージにはComponentというファイルがありますが、パッケージを取り込むローカルソリューションにもあります)。

    私は、ファイルの名前と再パッケージを変更して、問題をProGetするためにそれを公開する場合離れて行くと、私は、デバッグ中にファイルするでステップ実行することができますが、これはハックのように思えます。

    誰もが同じ名前の溶液中の任意のローカルファイルの上にシンボルサーバー上のファイルを優先するようにVisual Studioのを得ることができる方法を知っていますか?

  • 答えて

    2

    プロジェクトディレクトリ内のシンボルファイルは常にロードされます。この問題では、サンプルが読みやすいシンボルを理解するのに役立ちます。以前にSymbol Serverからダウンロードしたシンボルファイルがローカルキャッシュフォルダにある場合は、アプリケーションのデバッグ中に再びダウンロードしないことがわかっています。私の理解では、シンボルファイルの名前が同じであるため、VSデバッグはまずローカルプロジェクトフォルダからシンボルを検索してロードし、ローカルマシンにシンボルサーバなどがない場合はシンボルサーバなどからダウンロードします。それがあなたにこの問題がある理由です。私は考えることができ

    回避策:あなたが実際には同じ名前を持つ2つのファイルを使用したい場合は

    は、(1)デバッグ・モジュール・ウィンドウから手動でシンボルをロードします。

    (2)別の名前を使用する方が良いでしょう。

    +0

    同じ名前(シンボルファイルなし)のソースファイルです。申し訳ありませんが、それはあなたが意味するものかどうかはわかりませんでしたか?プロジェクトではファイル名の規則を使用する可能性が高いため、同じ名前のファイルにステップインすることができると期待していましたか?おそらく、これは間違った前提ですか? –

    +0

    @Ben、間違ったソースファイルに入ると、同じソースファイルにすべてのビルド時に異なるPDBファイルがあることがわかります。間違ったPDB /シンボルファイルがロードされている可能性があります.https:// blogs .msdn.microsoft.com/junfeng/2007/11/05/mismatched-pdbs-why/ –

    +0

    @Ben、どんな更新? –

    関連する問題