Top > Programmingとか > VB / VB.NET > 2008

.NET Frameworkの中身を見てみた

前エントリで.NET Frameworkライブラリソースの参照のしかたがわかりました。
せっかくですので、実際に参照してみましょう。


まずは設定。
元ネタはMicrosoftサイトのReference Source Code Centerから。

VS2008(Express Editionではできません)を起動して。
メニューから[ツール]-[オプション]で[オプション]ダイアログを起動して。
[すべての設定を表示]チェックボックスがあればチェックをつけて。

[デバッグ]-[全般]の、
['マイコードのみ'設定を有効にする]のチェックを外して、
[ソースサーバーサポートを有効にする]にチェックをつけて。

20080129_01.png
(クリックで拡大します)

[デバッグ]-[シンボル]の 20080129_02.png ボタンをクリックして、
[シンボルファイル(.pdb)の場所]に「https://Referencesource.microsoft.com/symbols」と入力して、
[シンボルサーバーからシンボルをキャッシュするディレクトリ]に「C:\Symbols\RSCC」(まあこれはどこでもいいんですけど)と入力して、
[シンボルが手動で読み込まれるときのみ上記の場所を探す]にチェックをつけて。

20080129_03.png
(クリックで拡大します)

「ソースサーバーを有効にしますか?」ダイアログが表示されたら[はい]。

20080129_04.png
(クリックで拡大します)

以上な感じです。


設定が終わったら、実際に参照してみましょう。

ここからの元ネタは、Shawn BurkeさんのblogShawn Burke's Blog : Configuring Visual Studio to Debug .NET Framework Source Codeから。

とりあえずなんか適当にプロジェクトを作成して。

20080129_05.png
(クリックで拡大します)

ソースも適当に書いて、ブレークポイントを設定して、

20080129_06.png
(クリックで拡大します)

実行。→ ブレークポイントで止めて。

20080129_07.png
(クリックで拡大します)

Ctrl+Alt+C(VBの場合はCtrl+Lでもおっけー)を押して[呼び出し履歴]ウィンドウを表示させて。

20080129_08.png
(クリックで拡大します)

参照したいプロシージャ(メソッド)行で右クリック→コンテキストメニューから[シンボルの読み込み]を選択。

20080129_09.png
(クリックで拡大します)

[Microsoft Internet Symbol Store]ダイアログが表示されるので[Yes]と返事して。

20080129_10.png

[呼び出し履歴]ウィンドウの選択行、右端の[言語]列に言語が表示されれば読み込み完了。

20080129_11.png
(クリックで拡大します)

選択行をダブルクリックして、
[End User License Agreement](EULA)ダイアログが表示されるので[Accept]と返事して。

20080129_12.png

おお、表示されましたされました。

20080129_13.png
(クリックで拡大します)

予想はしていたけど、ソースはやっぱC#なんだなー。(;-;)


えー、もひとつ参照のしかたが紹介されてますね。

同じくブレークポイントで実行を中断した状態で。
Ctrl+ALT+Uで[モジュール]ウィンドウを表示させて。

20080129_14.png
(クリックで拡大します)

参照したいDLLで右クリック→コンテキストメニューから[シンボルの読み込み]を選択。

20080129_15.png
(クリックで拡大します)

選択行の[シンボルの状態]が「シンボルが読み込まれました。」と表示されれば読み込み完了。

20080129_17.png
(クリックで拡大します)


さて、ついでなのでもう一丁。

前エントリで言及しましたVisual Studio 2008 QFEをインストールしてみました。

20080129_18.png
(クリックで拡大します)

むかり。やっぱり。

悔しいので、手動でインストールしてみることにします。

ダウンロードした336928_ENU_i386_zip.exeをアーカイバで開くと、以下のような内容になっています。

20080129_19.png
(クリックで拡大します)

この中のVS90-KB944899.exeをさらにアーカイバで開いて、

20080129_20.png
(クリックで拡大します)

この中のVS90-KB944899.mspをさらにアーカイバで開いて、

20080129_21.png
(クリックで拡大します)

この中のpatch.cabをさらにアーカイバで開いて、

20080129_22.png
(クリックで拡大します)

よしっ、出てきました FL_vsdebug_dll_10598_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8 。

こいつのプロパティを参照すると、VSDebug.dll Ver.9.0.21022.39であることがわかります。

20080129_23.png
(クリックで拡大します)

VS2008インストールでコピーされたvsdebug.dllは C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger(デフォルトインストール時)に格納されているVer.9.0.21022.8ですので、先のファイルをリネームして上書いてやればいいわけですね。

20080129_24.png
(クリックで拡大します)

では先ほどと同じ操作をして、速度を比較してみましょう。

…速くなった…のかなぁ?

まあ、「気は心」レベルで入れといた方が精神衛生的にいいかもしれません、程度でしょうか。
もうちょい詳しいFIX内容が提示されないと、ありがたみがわからないのかもしれません。

トラックバック

このエントリーのトラックバックURL:
http://salv.miscnotes.com/mt/mt-tb.cgi/669

コメント

あ、msp なのか...
ちょっとチェックしてみるかなぁ...w

って ExpLzh って、mspまで展開するのか!
気合入ってるなぁ...w

> ちょっとチェックしてみるかなぁ...w

よろしくお願いしますプロの人。m(_ _)m

> 気合入ってるなぁ...w

そなんです。
msiやcabをイジりたくてLHUT32から乗り換えちゃったんですよ。

コメントを投稿