8
votes

Diminution du temps pour attacher et charger des symboles

En règle générale, quelles sont vos recommandations à ce sujet? Il faut actuellement passer près de 10 minutes pour que je m'attache à un processus IIS d'exécution localement Hébergement SharePoint 2007.


0 commentaires

3 Réponses :


6
votes

Assurez-vous que votre chemin de symbole comprend un répertoire de cache local de sorte qu'il ne télécharge pas chaque fois les symboles du serveur de symboles publics de Microsoft.

En outre, je n'ai pas essayé cela avec Visual Studio, mais vous pouvez également être en mesure de configurer un Liste d'exclusion Identification des modules pour lesquels vous n'avez pas de symboles.


0 commentaires

1
votes

Vous pouvez également télécharger les symboles de votre plate-forme actuelle à partir du Outils de débogage pour Page Windows . Installez ceux-ci dans votre répertoire de symboles mis en cache local (par exemple c: \ windows \ symboles)

Vous pouvez également désactiver le chargement automatique des symboles comme décrit ici . p>

ou quelque chose qui peut être plus rapide, essayez de courir en dehors du débogueur (avec Ctrl-F5) puis attacher au processus. J'ai une macro Visual Studio que je lie à Ctrl-Shift-A que j'ai frappé pour attacher mon processus à tout moment, et c'est mappé à ceci: P>

   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


0 commentaires

4
votes

Dans Visual Studio 2010, j'ai diminué mon joint au processus de traitement W3WP à presque instantané en allant à Outils -> Options -> Débogage -> Symboles, sélectionner uniquement des modules spécifiés et en cliquant sur OK. Cela rend Visual Studio charger les symboles des six assemblages Notre équipe a écrit et saute des symboles de chargement des 146 autres modules du processus.

Remarque, j'ai des serveurs de symboles Microsoft vérifiés pour mes emplacements de fichier symbole (.pdb) et j'ai mes symboles en cache à C: \ Debugsymbols.


0 commentaires