none
公開ソースコードへのステップイン動作について RRS feed

  • 質問

  • こんにちは、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でも同様に、ソースコードを表示したい
    と最近のアップデートをアンインストールしていますが、まだ
    成功していません。どなたかご存知ないでしょうか?

    (もちろん、セキュリィテは自分で管理しています。)

    2012年6月18日 7:19

すべての返信

  • こんにちは、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つをアンインストールする事で、ステップイン可能なラインが増えるようです。

    2012年6月21日 4:33
  • 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

    2012年6月22日 3:42
  • こんにちは、Fuda1です。

    K.Takaokaさん、最新のUpDate後、ご紹介戴いた設定のみで、コンポネントのステップインソースが表示されますでしょうか?

    2012年6月22日 8:17
  • Fuda1です。

    Windows Update でアセンブリが更新された後は、最新のシンボル情報をダウンロードしなければシンボル情報のロードができず、ステップイン先のソースコードの行番号などが判別できなくなります。   

    話は、もっと、深刻で、どうも、Windows Updateを行うと、シンボル情報関連が使えなくなるようです。

    2012年7月12日 11:23
  • 三輪の牛さん、こんばんは、Fuda1です。

    このため、セキュリティ更新が適用された環境での .NET Framework のソースコードへのステップ インはサポートされないものとなります

    私の環境、(Windows UpDate Out)+VisualSutudio2008+Microsoft .NET Framework 3.5で、ソースコードが表示できます。最近の環境では、ソースコード表示はできない可能性がありますが条件を明らかにしたい所ですね。

    2012年7月12日 11:47