Przygody z oprogramowaniem
  • Start
  • Szkolenia
    • Szkolenia otwarte
    • Katalog szkoleń
  • Usługi
    • Konsulting
    • Mentoring
    • Research & Development
  • Blog
  • Wiedza
    • Strefa wiedzy
    • BFsharp
    • SaaS
  • Klienci
  • Kontakt
0

Automatyczne podpinanie debugger’a

2 March, 2012-Debugging, Visual Studio

Dzisiaj chciałem podzielić się sztuczką, jak można automatycznie podpiąć się do procesu. Pracując nad aplikacjami webowymi mamy często potrzebę przedebugowania procesu iis, bądź jakiegoś napisanego przez nas plugina, np. Silverlight. Można to ręcznie zrobić poprzez okiekno Attach to process. Jednak na dłuższą metę jest to strasznie niewygodne i czasochłonne.

Na pomoc mogą nam przyjsć makra dostepne w VS. Poniżej przedstawiam kod, który umożliwia podpięcie się do iis i przeglądarki chrome. Należy otworzyć sobie edytor makr i go tam wkleić.

Ja mam ponadto zdefiniowany skróty klawiszone, odpowiednio Ctrl+1 i Ctrl+2

Public Module Attach
    Sub AttachToChrome()
        AttachTo("chrome.exe", "Silverlight")
    End Sub

    Sub AttachToIIS()
        AttachTo("w3wp.exe", "Managed (v4.0)")
    End Sub

    Sub AttachTo(ByVal name As String, ByVal engine As String)
        Try
            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(engine)

            For Each p As EnvDTE80.Process2 In dbg2.GetProcesses(trans, "localhost")
                If p.Name.EndsWith(name) And Not p.IsBeingDebugged Then
                    p.Attach2(dbgeng)
                End If
            Next

        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try

    End Sub

End Module
Czytaj dalej | Dyskutuj

Kategorie

Architecture BFsharp Blog Business Framework C# CqRS DDD Debugging DSL EntityFramework Formula JavaScript Linq NHibernate SaaS Silverlight SQL Visual Studio WPF Wzorce

O mnie


RSS Feed

© macmichal.pl 2011 Wszystkie prawa zastrzeżone