减少附加时间加载符号

时间:2009-10-16 17:51:14

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

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

2 个答案:

答案 0 :(得分:5)

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

另外,我没有尝试使用Visual Studio,但您也可以设置一个exclusion list识别模块,但没有符号。

答案 1 :(得分:1)

您还可以从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