質問者
公開ソースコードへのステップイン動作について

質問
-
こんにちは、Fuda1です。
Available Source Code Components
http://referencesource.microsoft.com/netframework.aspx常時電源を入れたWindowsServer2003で、WindowsUPDateを自動にし
て有ります。ここにインストールしたVisualSutudio2008では、C#コンポーネント
ソースコード表示がデバッグのステップイン動作で表示されなくな
りました。.NET Framework Librariesは、重宝してます。”Invoke”の連続呼び出し
の負荷は他に影響しないかなぁ。と思い久々に、ステップインすると
何事も無いようにステップオーバーで通過し、ソースコードが表示
されなくなっていました。確認の為、古い、Windows UP Dateしていない、WindowsXP SP2で調べると
”Invoke”のソースコードが表示されています。WindowsServer2003のVisualSutudio2008でもソースコードが表示したい
と思い、最近のアップデートを順番にアンインストール。KB2657424、KB26041111、KB963707、KB958484、KB2686828
やはり戻らないか、最後に
KB2604092 (2012/05/12)この後、DotNET.msi、Net_4.msiの再インストールとシンボルロードを
操作していると、ソースコードが表示されるようになりました。現在、Windows7のVisualSutudio2008でも同様に、ソースコードを表示したい
と最近のアップデートをアンインストールしていますが、まだ
成功していません。どなたかご存知ないでしょうか?(もちろん、セキュリィテは自分で管理しています。)
すべての返信
-
こんにちは、Fuda1です。
Windows7(32ビット) + VisualStudio2008のコンポーネントへのステップインソースデバッグ使用できるように復活いたしました。
<コンポネント、C#のソースデバッグを妨害する更新>
Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (Windows 7 SP1 x86 用) (KB2604115)
Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (Windows 7 SP1 x86 用) (KB2656356)
Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (Windows 7 SP1 x86 用) (KB2656373)
Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (Windows 7 SP1 x86 用) (KB2686831)これで、Win7、Win2003Server、WinXPで、.NET Framework 3.5までのC#のソースデバッグ環境が整いました。
Win7では、一つの更新がステップイン動作を妨害するのでは無く、上記4つをアンインストールする事で、ステップイン可能なラインが増えるようです。 -
Windows Update でアセンブリが更新された後は、最新のシンボル情報をダウンロードしなければシンボル情報のロードができず、ステップイン先のソースコードの行番号などが判別できなくなります。
VS2010 が手元にないので設定画面の場所は示せませんが、デバッグの設定でシンボル情報の読み込み元として microsoft のシンボルサーバを設定しておくと、Windows Update 等でアセンブリの情報が更新された後の初めてのデバッグ実行時にダウンロードが行われるはずです。
http://msdn.microsoft.com/ja-jp/library/b8ttk8zy.aspx
(追記)
デバッグ実行で自動的に読み込むかどうかは設定次第ですね。手動読み込みにしていた場合、オブジェクトブラウザやモジュール一覧から、対象のアセンブリを右クリックしてダウンロードできます。
VS2008 でしたね。こちらの記事なんかが参考になりそうですが、いかがでしょう?
http://www.atmarkit.co.jp/fdotnet/insiderseye/20080222sourcecode/sourcecode.html
- 編集済み K. Takaoka 2012年6月22日 3:46
-
下記が参考になります。
http://systemartlaboratory.com/