【问题标题】:Decrease time to attach & load symbols减少附加和加载符号的时间
【发布时间】:2010-12-07 11:00:13
【问题描述】:

一般来说,您对此有何建议?目前,我需要将近 10 分钟才能附加到本地运行的托管 SharePoint 2007 的 IIS 进程。

【问题讨论】:

    标签: visual-studio visual-studio-debugging debug-symbols pdb


    【解决方案1】:

    确保您的符号路径包含本地缓存目录,这样它就不会在您每次附加时从 Microsoft 的公共符号服务器下载符号。

    此外,我还没有在 Visual Studio 中尝试过此操作,但您也可以设置 exclusion list 标识您没有符号的模块。

    【讨论】:

      【解决方案2】:

      您还可以从debugging tools for windows page 下载适用于您当前平台的符号。将它们安装到本地缓存符号目录(例如 c:\windows\symbols)

      您还可以按照here 的说明关闭符号的自动加载。

      或者更快的方法,尝试在调试器外部运行(使用 Ctrl-F5),然后附加到进程。我有一个 Visual Studio 宏,我绑定到 Ctrl-Shift-A,我可以随时将其附加到我的进程,它映射到这个:

         Function AttachToProcess(ByVal procname As String, ByVal quiet As Boolean) As Boolean
          Dim attached As Boolean = False
          Dim proc2 As EnvDTE80.Process2
      
          ' Attaching natively, from http://blogs.msdn.com/jimgries/archive/2005/11/30/498264.aspx'
          Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
          Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
          Dim dbgeng(1) As EnvDTE80.Engine
          dbgeng(0) = trans.Engines.Item("Native")
      
          For Each proc2 In DTE.Debugger.LocalProcesses
              If (proc2.Name.Contains(procname)) Then
                  proc2.Attach2(dbgeng)
                  attached = True
                  Exit For
              End If
          Next
      
          If (attached = False And quiet = False) Then
              MsgBox(procname + " is not running")
          End If
          Return attached
      End Function
      
      Sub AttachToMyProcess()
          AttachToProcess("MyProcess.exe", True)
      End Sub
      

      【讨论】:

        【解决方案3】:

        在 Visual Studio 2010 中,我通过转到工具 -> 选项 -> 调试 -> 符号,选择仅指定模块并单击确定,将我对 w3wp 进程的附加时间减少到几乎即时。这使得 Visual Studio 会为我们团队编写的六个程序集加载符号,并在此过程中跳过为其他 146 个模块加载符号。

        注意,我让 Microsoft 符号服务器检查了我的符号文件 (.pdb) 位置,并将我的符号缓存到 c:\debugSymbols。

        【讨论】:

          猜你喜欢
          • 2011-05-27
          • 2014-05-30
          • 1970-01-01
          • 2011-01-20
          • 1970-01-01
          • 1970-01-01
          • 2020-11-07
          • 2020-11-10
          • 1970-01-01
          相关资源
          最近更新 更多