.NET Frameworkのソース付きシンボルを一気にダウンロードする方法
この間、.NET Frameworkのソース付きシンボルが公開されまして、嬉々として設定作業していました。
- Microsoft、VB 2008向け.NET Frameworkライブラリソース公開 | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/01/17/042/index.html - .NET Framework Library Source Code now available - ScottGu's Blog
http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx
前提:手作業でシンボルを取得する
Visual Studio 2008の設定方法に関しては、既に皆さんが指摘されている通り、以下のURLを参照すればOKです。
- Shawn Burke's Blog : Configuring Visual Studio to Debug .NET Framework Source Code
http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx
設定で私が引っかかったのは、以下の点。
- シンボルファイルをダウンロードするには、デバッグ→モジュール ウィンドウを開いて、ダウンロードしたいモジュールを指定し、右クリックして「シンボルの読み込み」を行う
1 posted by (C)wacky
↓
2 posted by (C)wacky
説明の上の方ばかり見て、この作業が必要な事に暫く気づきませんで、何度も設定し直していました。<私のオバカー
改良:面倒だから自動で取得する
と、とりあえずダウンロードを済ませた後、今回提供されたシンボルサーバー機能を少し調べていたら、以下のやり方でシンボルファイルを、がばっと取得する方法がある事に気づきましたので、メモ。
まず、Debugging Tools for Windowsを取得しインストールします。
次に、コマンドプロンプトを起動し、Debugging Tools for Windowsのインストールされたディレクトリに移動します。
C:\>c: C:\>cd C:\Program Files\Debugging Tools for Windows
ここで、おもむろにsymchk.exeユーティリティを使って、以下のようにコマンドを打ち込みます。
C:\Program Files\Debugging Tools for Windows>symchk /r C:\WINDOWS\Microsoft.NET\ Framework\v2.0.50727 /su SRV*C:\WINDOWS\Symbols\*http://referencesource.microsof t.com/symbols ... SYMCHK: vjscustom.3082.dll FAILED - vjscustom.1033.pdb mismatched or not foun d SYMCHK: FAILED files = 151 SYMCHK: PASSED + IGNORED files = 621
各引数の設定の意味は、以下の通りです。
引数 | 意味 |
---|---|
/r C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 | "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"フォルダの全てのDLLに適合するシンボルファイルをゲットしなさい |
/s SRV*C:\WINDOWS\Symbols\*http://referencesource.microsoft.com/symbols | "http://referencesource.microsoft.com/symbols"からシンボルファイルをゲットし"C:\Windows\Symbols"フォルダに入れなさい。 |
これを、各.NETのDLLが存在するフォルダに対して適用すれば、現時点で取得可能なソース付きシンボルファイルを取得できます。
(余談ですが、URLを"http://msdl.microsoft.com/download/symbols"に変えると、通常のシンボルファイルが取得できます)
後は、ソースコード自体も抽出できると嬉しいんですけど、どうやればいいんですかね?
(pdbファイルから抜き取るのかなぁ)
追記
よく読んでいたら、何かそれらしい事が書いてますね。
10) Can I just download all of the code at once?
(私はすぐに、ただコードのすべてをダウンロードしてもよいですか?)
Not currently, but we are currently working on enabling this functionality in the future.
(現在でないときに、私たちだけが現在、将来この機能性を可能にするのに働いています。)for Excite翻訳
将来実装予定…っていう意味かな?