Pracując nad jakąś aplikacją czasami musimy ją zdebugować. Sposobów na to jest wiele – np. podpinając się pod odpowiedni proces. U mnie standardowo wygląda to tak: menu Debug->Attach to Process…->w3wp.exe.
Wykonuję tę operację dość często.
Jak wiele czynności w pracy z komputerem można tę operację zautomatyzować, tworząc np. makro.
W Visual Studio wybieramy: Tools->Macros->Macros IDE
Dodajemy nowy moduł, nadajemy mu nazwę, np. RecordingModule:
i wpisujemy makro:
[sourcecode language=”vbnet”]
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module RecordingModule
Sub AttachToAspNET()
Try
Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
Dim compName As String = Environ$("computername")
Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, compName).Item("WebDev.WebServer.EXE")
proc2.Attach2()
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
[/sourcecode]
Oczywiście w ten sposób możemy podpinać się pod dowolny proces. W przypadku ASP.NET, w zależności od tego, z jakiego serwera korzystamy będzie to:
- WebDev.WebServer.exe – środowisko uruchamiane przez VS
- w3wp.exe – IIS 6.0
- aspnet_wp.exe – IIS 5.0, IIS 5.1
Aby uruchamiać makro, najprościej jest podpiąć je pod skrót klawiaturowy.
Z menu wybieramy: Tools->Options->Environment->Keyboard i wybieramy nasze makro:
Po przypisaniu skrótu (u mnie ALT+CRTL+K) klikamy Assign, zamykamy okno opcji i cieszymy się nowym makrem 🙂