問題タブ [symbol-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - NuGet パッケージのデバッグ - ソースが表示されないシンボル
ライブラリの nuget パッケージとシンボルの両方を構築しようとしています。TeamCity を使用してパッケージをビルドし、それらを内部の SymbolSource リポジトリにプッシュしています。
すべてが正常にビルド/パッケージ化/プッシュされているようですが、(VS2012 を使用して) ナゲット パッケージをデバッグしようとすると、ソース コードが正しくありません。図書館。
私のプロジェクト構造:
私の .nuspec ファイル (注、v4.0 および v4.5 ディレクトリは TeamCity 側で処理されます):
Teamcity を検査すると MyProject.0.0.nupkg が生成されました
TeamCity を調べると MyProject.0.0.symbols.nupkg が生成されました
したがって、私が想定している問題は、パッケージを内部シンボル リポジトリにプッシュするときに、ファイル構造を確認すると次のようになることです。
Sources フォルダーは空です。100% 空です。その 'Sources' フォルダーに .cs ファイルを取得できないようです。実際にデータ フォルダーにダンプし、VS2012 が魔法のようにデバッグ シンボルを取り込みます。
だから、私は次にどこをチェックするのか完全に途方に暮れています。
regex - Microsoft から .NET PDB シンボルを読み込む
これに従って、VS 2010でシンボルサーバーをセットアップしました:
http://msdn.microsoft.com/en-us/library/vstudio/b8ttk8zy(v=vs.100).aspx
しかし、私の目標は、RegularExpressions 名前空間の Regex クラスに足を踏み入れることです。
System.dll アセンブリの RegularExpressions シンボルがかなり前に公開されたことは知っています。これは、少し前に記事を読んで興奮し、簡単な概要を説明したためです。しかし、記事が見つかりません。
現状では、Match 関数に「ステップ イン」すると、ステップ オーバー ダイアログさえ表示されません。踏み越えるだけです。
nuget - MyGet & SymbolSource.org: VS2012 が pdb を見つけられない
myget (ci の一部) にライブラリを作成し、シンボル ソースを symbolsource.org にプッシュしようとしています (これは素晴らしいサービスであり、このアイデアが気に入っています)。これは私の最初の試みです。myget サイト ( http://docs.myget.org/docs/reference/symbolsource ) にある手順を使用していますが、いくつかのギャップがあります。
これが私がたどる手順です。まず、nuspec ファイルを作成し、「nuget pack -symbol xxx」を使用して X.symbols.nupkg および X.nupkg ファイルを作成します。これはうまくいきます。次に、それらを myget と symbolsource に個別にプッシュします。nuget pkg エクスプローラーを使用して内容を調べたところ、予想どおりに表示されました (src、pdb、および dll がシンボルに表示されます)。プッシュを行った後、symbolsource にログインすると、myget ページにある手順を使用して自分のパッケージがそこに表示されます。
次のコマンドを使用して、symbolsource にプッシュしました。
次に、指示に従って Visual Studio を構成します。「コードのみを有効にする」をオフにし、シンボル サーバーをオンにします。次に、シンボル サーバーのリストに次の URL を追加します。
XXXX は GUID であり、sumbolsource の "Your Account"/"Authentication" "Visual Studio" テーブル エントリを読み取りました (myget は、これが私がすべきことであることがまったく明確ではありませんでした)。
次に、デバッグを試みます。そのライブラリで何かをヒットすると、VS2012 で "No Symbols Loaded" ページが表示されます。詳細の下に、VS2012 が pdb ファイルを見つけようとする試みのダンプがあります。次のように表示されます。
つまり、symbolsource.org に正しく接続しているように見えます。しかし、そこで何かが失敗しています。9C883E0FA93245C99EFD2B92DBFC6DFC1 は明らかにハッシュです。そのライブラリにどのハッシュ シンボルソースが割り当てられているかわかりません (??)。
基本的。この時点でデバッグを続行する方法がわかりません。どんな助けでも大歓迎です!
更新:以下の回答で述べたように、テストできる小さなものを構築してください。私はそれをしました、そしてそれはうまくいきます。そうするうちに、SymbolSource.org にいくつかのデバッグ ツールがあることを発見しました。具体的には、フィード内のパッケージを見ると、「コンパイル」リンクを見つけることができます。クリックして。アップロードした各ビルド タイプの行が表示されます。私のパッケージにはそれに関連するものは何もないので、シンボル生成のために何らかの方法で nuspec ファイルを台無しにしてしまいました。
c# - TeamCity からデプロイされた nuget パッケージをデバッグするには?
チームが使用するライブラリを、TeamCity からネットワーク フォルダーにデプロイされる nuget パッケージに入れました。ただし、このコードにデバッグすることはできません! SymbolSource は私が読んだ 1 つのソリューションですが、TeamCity から直接 .pdb/source ファイルにアクセスする方法を見つけたいと思っています。誰もこれを行う方法を知っていますか?
編集。 Nuget Pack ビルド ステップをチェックインする'Include Symbols and Source'
と、TeamCity はネットワーク フォルダーに .nupkg ファイルに加えて .Symbol.nupkg を作成します。.Symbol.nupkg には、src と .pdb ファイルが含まれています。
編集。 TeamCity のチェック'Include Symbols and Source'
を外し、nuspec ファイルに以下を追加しました。
これにより、ライブラリのdll、pdb、およびソースファイルがnugetパッケージに追加され、シンボルサーバーにのみ必要と思われる.Symbolsファイルが生成されませんでした。
nuget - シンボル サーバーの削除コマンドが機能しない
SymbolSource Community Edition を使用して、いくつかの内部ライブラリ用の内部シンボル サーバーをホストする準備をしています。パッケージの追加と更新のワークフローをテストしながら、サーバーからシンボルを削除する機能もテストしました。NuGet.exe を使用して、シンボル サーバーに対してコマンドを実行しています。NuGet の削除コマンドは正常に完了したことを示していますが、ファイルはまだ内部シンボル サーバーにあります。私が使用しているコマンドは次のとおりです。
コマンドからの出力は次のとおりです。
SymbolSource.org でホストされているシンボルの削除機能 (NuGet 経由) については、http://www.symbolsource.org/Public/Blog/View/2011-06-27/Deleting_packages_from_SymbolSourceに記載されています。この機能は実際には「削除」機能ではなく、「非表示」コマンドのようなものでした。ただし、2011 年からhttps://groups.google.com/forum/#!searchin/symbolsource/delete/symbolsource/Z63nIr_s-DY/V2rDBdsDI2IJにスレッドがあり、「完全な」削除機能の実装が一番上にあったことも言及されています。その時点での優先リスト。この機能が実際に実装されているかどうか知っている人はいますか? SymbolSource.org サイトでこれ以上の参照を見つけることができないようです。
NuGet 削除コマンドの実行に対応するファイル アクティビティを監視するためにサーバー上で Process Monitor を実行すると、アクティビティを確認できますが、アクティビティ エントリの大部分のステータスは「PATH NOT FOUND」および「NAME NOT FOUND」です。Process Monitor ログで参照されているディレクトリは、私が期待するものではありません。参照されているプライマリ ディレクトリは次のとおりです。
ただし、シンボル ファイルは次のディレクトリにあります。
何かが足りないか、削除コマンドが実装されていないと思います。どちらが当てはまるか誰でも知っていますか?
.net - SymbolSource サーバーの問題
開発チーム用にローカルの SymbolSource サーバーをセットアップしています。SymbolSource サーバーに書かれた素敵な記事に従いました。ビルドには TeamCity を使用します。各ビルド.symbols.nupkg
はコマンドを使用してローカルの SymbolSource にプッシュされnuget push
、nuget パッケージはローカルの NuGet サーバーにプッシュされます。
発生している問題:
nuget パッケージ MyPackage.1.1.0 の場合、同じものをシンボル サーバーにプッシュすると、ハッシュが作成され、それが各バージョン フォルダーに関連付けられて.pdb
ファイルと.cs
ファイルをロードする方法です。(それは私の理解です。間違っている場合は修正してください)。
Visual Studio でシンボル サーバー構成をセットアップした後、プロジェクトのデバッグを試みます。nuget push
私たちが経験しているのは、シンボルをロードするために Visual Studio によって生成されたハッシュが、404 で終わるシンボル サーバーでの登録中に生成されたハッシュとは完全に異なることです (フィドラー ステータス コードを含む添付ファイルを参照してください)。 Symbol サーバー上の同じハッシュを使用してフォルダーを手動で作成すると、目的の結果が得られます。つまり、コードにステップインします。
同じバージョンの dll/nuget ファイルに対して 2 つの異なるハッシュがあるのはなぜですか?
assembly - ソース コードを使用しない Windows アプリケーションのデバッグとトラブルシューティング
数日前、私は職場でこの問題に直面し、Microsoft に行くよりもシナリオからより多くのデータを作成する方法があるのではないかと考えていました。このようなケースは数多くあり、Windows 開発者として、ほとんどの情報を取得するための最良/最適な方法がそのようなケースであることを探りたいと思いました。状況を説明します:
Office アプリケーションで、特定の設定 (cmyk カラー スペースを含む) で印刷すると、説明が不適切なダイアログ ボックス エラーが表示されます。「ファイル %s は、他のアプリケーションによってロックされているため、開けませんでした」. ファイル名もイベント ビューアも与えません。印刷は中止されます。
を使用すると、Office アプリ、スプーラー、splwow64.exe などの関連するプロセスによって
procmon
API が呼び出されると、いくつかのファイルで「ファイル ロック エラー」が見つかります(はい、64 ビット システムであり、アプリは 32 ビットです)。CreatefileMapping
splwow64 が関与していない場合、問題はありません。64 ビット OS で 64 ビット アプリを使用することを意味します。
そのような状況でより多くの情報を得るためにどのツールが役立つか知りたいです。これには、必要に応じて、windbg およびデバッグ アセンブリでの MS シンボルの使用が含まれます。基本的に、ロックされているファイル名が必要です。これは %s として表示され、問題のルートです。
c# - referencesource.microsoft.com で System.Web.pdb が見つからないのはなぜですか?
で見つからなかったことに注意してSystem.Web.pdb
くださいreferencesource.microsoft.com
。それは見つかりましたmsdl.microsoft.com
が、それらにはソースファイル/行が付属していません。System.Web.dll
からのソースコードをダウンロードしたreferencesource.microsoft.com
ので、ソースが利用可能であることはわかっています。referencesource.microsoft.com
リリースされた .NET Framework のすべてのバージョン (パッチを含む) に対応する PDB があるはずだったのは私の理解でしたか?
現在ロードされているのバージョンSystem.Web.dll
は、GAC で version としてマークされている 64 ビット バージョン4.0.30319.34212
です。2014 年 5 月 29 日のリリース日があります。私が知る限り、これは の最新リリースですがSystem.Web.dll
、この問題が解決されればアップグレードしてもかまいません。